package Ġme . d dev il . mine me . craft . mine Ċ Ċ import Ġcom . google . common . collect . Immutable Map Ċ import Ġcom . sk 8 9 q . wor l ded it . regions . Region Ċ import Ġme . d dev il . mine me . api . Mine Me Constants Ċ import Ġme . d dev il . mine me . api . composition . Mine Composition Ċ import Ġme . d dev il . mine me . craft . Mine Me Ċ import Ġme . d dev il . mine me . craft . api . Mine Me Craft Constants Ċ import Ġme . d dev il . mine me . craft . api . mine . Mine Ċ import Ġme . d dev il . mine me . craft . api . mine . Mine Clock Listener Ċ import Ġme . d dev il . mine me . craft . api . mine . Mine Re pop ulator Ċ import Ġme . d dev il . mine me . craft . api . mine . executor . Mine Reset Executor Ċ import Ġme . d dev il . mine me . craft . api . mine . executor . Mine Reset Executor Type Ċ import Ġme . d dev il . mine me . craft . config . Mine Me Config Value Ċ import Ġme . d dev il . mine me . craft . event .* Ċ import Ġme . d dev il . mine me . craft . exception . Mine Not Enabled Exception Ċ import Ġme . d dev il . mine me . craft . mine . misc . Count down Runnable Ċ import Ġme . d dev il . mine me . craft . mine . misc . World Edit Iterator Ċ import Ġme . d dev il . mine me . craft . mine . re pop ulator . Empty Re pop ulator Ċ import Ġme . d dev il . mine me . craft . mine . re pop ulator . Fill Mine Re pop ulator Ċ import Ġme . d dev il . mine me . craft . util . save To Ċ import Ġme . d dev il . mine me . craft . util . to WE Ċ import Ġme . d dev il . shiro i . craft . misc . variable . Message Variable Ċ import Ġme . d dev il . shiro i . craft . util . to Bu kkit Ċ import Ġme . d dev il . shiro i . craft . util . to Sh iro i Stack Ċ import Ġme . d dev il . shiro i . craft . util . to Vector 3 Ċ import Ġme . d dev il . util .* Ċ import Ġme . d dev il . util . math . vector . Vector 3 Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . Location Ċ import Ġorg . bukkit . World Ċ import Ġorg . bukkit . block . Block Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . event . EventHandler Ċ import Ġorg . bukkit . event . Event Priority Ċ import Ġorg . bukkit . event . block . Block Break Event Ċ import Ġorg . bukkit . event . block . Block Explo de Event Ċ import Ġorg . bukkit . inventory . ItemStack Ċ import Ġorg . bukkit . util . Vector Ċ import Ġjava . io . File Ċ Ċ abstract Ġclass ĠAbstract Mine < R Ġ: ĠRegion > Ġ: ĠM ine Ġ{ ĊĊĊĠĠĠ Ġfinal Ġoverride Ġvar Ġalias : ĠString ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġname : ĠString ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġicon : ĠItemStack ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġdefault Re pop ulator : ĠM ine Re pop ulator ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġreset Delay : ĠInt ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġenabled : ĠBoolean ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġcurrent Count down : ĠInt ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġcomposition : ĠM ine Composition ĊĊĠĠĠ Ġfinal Ġoverride Ġval Ġworld : ĠWorld ĊĠĠĠ Ġoverride Ġval Ġcenter : ĠLocation ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr Center Ġ= Ġregion . center ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLocation ( world , Ġr Center . x , Ġr Center . y , Ġr Center . z , Ġr Center . to Y aw (), Ġr Center . to Pitch ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġtop Center : ĠLocation ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr Center Ġ= Ġregion . center ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLocation ( world , Ġr Center . x , Ġregion . maximum Point . y Ġ+ Ġ 1 , Ġr Center . z , Ġr Center . to Y aw (), Ġr Center . to Pitch ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠfullName : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ"$ name ($ alias )" ĊĠĠĠ Ġprotected Ġval Ġregion : ĠR ĊĊĠĠĠ Ġfinal Ġoverride Ġvar Ġm ined Blocks : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġoverride Ġval Ġm ined Blocks Percentage : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm ined Blocks . toDouble () Ġ/ Ġvolume Ġ* Ġ 1 0 0 ĊĊĠĠĠ Ġoverride Ġval Ġtime To Next Reset : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġreset Delay Ġ- Ġcurrent Count down ĊĊĠĠĠ Ġfinal Ġoverride Ġvar Ġcounting : ĠBoolean ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field Ġ!= Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck If Enabled () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount down Runnable Ġ= ĠCount down Runnable ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount down Runnable . run Task Timer ( plugin , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM ine Me Craft Constants . SECOND _ TICK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM ine Me Craft Constants . SECOND _ TICK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount down Runnable . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġcount down Runnable : ĠCount down Runnable ĊĊĠĠĠ Ġ@ Transient ĊĠĠĠ Ġvar Ġplugin : ĠM ine Me ĊĊĠĠĠ Ġ@ Transient ĊĠĠĠ Ġfinal Ġoverride Ġvar Ġdefault Executor : ĠM ine Reset Executor ĊĊĠĠĠ Ġoverride Ġval Ġvolume Ġget () Ġ= Ġregion . area ĊĊĠĠĠ Ġoverride Ġval Ġmax Y : ĠInt Ġget () Ġ= Ġregion . maximum Point . block Y ĊĊĠĠĠ Ġoverride Ġval Ġfile Ġget () Ġ= ĠFile ( plugin . mine Manager . min es Folder , Ġ"$ name .${ Mine Me Constants . DEFAULT _ FILE _ EXTENSION }") ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( plugin : ĠM ine Me , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalias : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomposition : ĠM ine Composition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion : ĠR , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon : ĠItemStack Ġ= Ġplugin . mine Manager . default Mine Icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Re pop ulator : ĠM ine Re pop ulator Ġ= Ġplugin . mine Manager . default Re pop ulator , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset Delay : ĠInt Ġ= Ġplugin . config Manager . getValue ( Mine Me Config Value . DEFAULT _ M INE _ RESET _ DELAY ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . plugin Ġ= Ġplugin ĊĠĠĠĠĠĠĠ Ġthis . alias Ġ= Ġalias ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġthis . reset Delay Ġ= Ġreset Delay ĊĠĠĠĠĠĠĠ Ġthis . current Count down Ġ= Ġreset Delay ĊĠĠĠĠĠĠĠ Ġthis . region Ġ= Ġregion ĊĠĠĠĠĠĠĠ Ġthis . world Ġ= ĠBu kkit . get World ( region . world !!. name ) ĊĠĠĠĠĠĠĠ Ġthis . composition Ġ= Ġcomposition ĊĠĠĠĠĠĠĠ Ġthis . icon Ġ= Ġicon ĊĠĠĠĠĠĠĠ Ġthis . default Re pop ulator Ġ= Ġdefault Re pop ulator ĊĠĠĠĠĠĠĠ Ġthis . enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġthis . countdown Runnable Ġ= ĠCount down Runnable ( this ) ĊĠĠĠĠĠĠĠ Ġthis . count ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġthis . default Executor Ġ= Ġplugin . mine Manager . create Default Reset Executor ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( plugin : ĠM ine Me , Ġmap : ĠMap < String , ĠAny >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . plugin Ġ= Ġplugin ĊĠĠĠĠĠĠĠ Ġ// Misc ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġmap . getString ( Mine Me Constants . M INE _ NAME _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġthis . alias Ġ= Ġmap . getString ( Mine Me Constants . M INE _ ALIAS _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġthis . icon Ġ= Ġme . d dev il . shiro i . util . misc . item . ItemStack ( map . getMap ( Mine Me Constants . M INE _ ICON _ IDENTIFIER )). to Bu kkit () ĊĊĠĠĠĠĠĠĠ Ġ// Position ĊĠĠĠĠĠĠĠ Ġthis . world Ġ= ĠBu kkit . get World ( map . getString ( Mine Me Constants . M INE _ WORLD _ IDENTIFIER )) ĊĠĠĠĠĠĠĠ Ġthis . region Ġ= Ġload Region ( map . getMap Any ( Mine Me Constants . M INE _ REGION _ IDENTIFIER )) ĊĠĠĠĠĠĠĠ Ġ// Composition ĊĠĠĠĠĠĠĠ Ġval Ġcomposition Name Ġ= Ġmap . getString ( Mine Me Constants . M INE _ COMP OS ITION _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġthis . composition Ġ= Ġplugin . mine Manager . get Composition ( composition Name ) Ġ?: Ġthrow ĠIllegalStateException (" Couldn 't Ġfind Ġrequired Ġcomposition Ġ'$ composition Name ' Ġfor Ġmine Ġ$ name !") ĊĊĠĠĠĠĠĠĠ Ġ// Re sets ĊĠĠĠĠĠĠĠ Ġval Ġreset Map Ġ= Ġmap . getMap Any ( Mine Me Constants . M INE _ RESET _ CONFIG _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġ// Re pop ulator ĊĠĠĠĠĠĠĠ Ġval Ġre pop ulator Name Ġ= Ġreset Map . getString ( Mine Me Constants . M INE _ RE POP UL ATOR _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġthis . default Re pop ulator Ġ= Ġplugin . mine Manager . get Re pop ulator ( re pop ulator Name ) Ġ?: Ġthrow ĠIllegalStateException (" Couldn 't Ġfind Ġrequired Ġre pop ulator Ġ'$ re pop ulator Name ' Ġfor Ġmine Ġ$ name !") ĊĠĠĠĠĠĠĠ Ġ// Executor ĊĠĠĠĠĠĠĠ Ġval Ġexecutor Map Ġ= Ġreset Map . getMap Any ( Mine Me Constants . M INE _ EXECUT OR _ CONFIG _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġval Ġexecutor TypeName Ġ= Ġexecutor Map . getString ( Mine Me Constants . M INE _ EXECUT OR _ TYPE _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġval Ġexecutor Meta Map Ġ= Ġexecutor Map . getMap Any ( Mine Me Constants . M INE _ EXECUT OR _ META _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġthis . default Executor Ġ= ĠM ine Reset Executor Type . getType ( executor TypeName ). create ( this , Ġexecutor Meta Map , Ġplugin ) ĊĊĠĠĠĠĠĠĠ Ġ// Cooldown ĊĠĠĠĠĠĠĠ Ġthis . reset Delay Ġ= Ġreset Map . getInt ( Mine Me Constants . M INE _ RESET _ DELAY _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġthis . current Count down Ġ= Ġreset Delay ĊĠĠĠĠĠĠĠ Ġthis . enabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġthis . countdown Runnable Ġ= ĠCount down Runnable ( this ) ĊĠĠĠĠĠĠĠ Ġthis . count ing Ġ= Ġfalse ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġserialize (): ĠMap < String , ĠAny > Ġ= ĠImmutableMap . builder < String , ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ NAME _ IDENTIFIER , Ġname ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ ALIAS _ IDENTIFIER , Ġalias ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ ENABLED _ IDENTIFIER , Ġenabled ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ RESET _ CONFIG _ IDENTIFIER , Ġserialize Reset Config ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ ICON _ IDENTIFIER , Ġicon . to Sh iro i Stack (). serialize ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ TYPE _ IDENTIFIER , Ġtype . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ WORLD _ IDENTIFIER , Ġworld . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ COMP OS ITION _ IDENTIFIER , Ġcomposition . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ REGION _ IDENTIFIER , Ġserialize Region ()). build () ĊĊĠĠĠ Ġprivate Ġfun Ġserialize Reset Config () Ġ= ĠImmutableMap . builder < String , ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ RESET _ DELAY _ IDENTIFIER , Ġreset Delay ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ RE POP UL ATOR _ IDENTIFIER , Ġdefault Re pop ulator . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Mine Me Constants . M INE _ EXECUT OR _ CONFIG _ IDENTIFIER , Ġdefault Executor . serialize ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġabstract Ġfun Ġload Region ( map : ĠMap < String , ĠAny >): ĠR ĊĊĠĠĠ Ġoverride Ġfun Ġfill ( item : ĠItemStack ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck If Enabled () ĊĠĠĠĠĠĠĠ Ġval Ġre pop ulator Ġ= ĠFill Mine Re pop ulator ( item ) ĊĠĠĠĠĠĠĠ Ġreplace Blocks ( re pop ulator ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ= Ġreset ( default Re pop ulator ) ĊĊĊĠĠĠ Ġoverride Ġfun Ġreset ( re pop ulator : ĠM ine Re pop ulator ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreset ( re pop ulator , Ġdefault Executor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset ( re pop ulator : ĠM ine Re pop ulator , Ġexecutor : ĠM ine Reset Executor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck If Enabled () ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠM ine Reset Event ( this ) ĊĠĠĠĠĠĠĠ Ġe . call () ĊĠĠĠĠĠĠĠ Ġif Ġ( e . is Cancelled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( player Ġin Ġplayers ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . tele port ( executor . get Reset Teleport Location ( player )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreplace Blocks ( re pop ulator , Ġexecutor ) ĊĠĠĠĠĠĠĠ Ġm ined Blocks Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġplayers Ġget () Ġ= ĠBu kkit . get Online Players (). filter Ġ{ Ġit Ġin Ġthis Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset ( executor : ĠM ine Reset Executor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreset ( default Re pop ulator , Ġexecutor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck If Enabled () ĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠM ine Cle ared Event ( this ) ĊĠĠĠĠĠĠĠ Ġe . call () ĊĠĠĠĠĠĠĠ Ġif Ġ( e . is Cancelled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreplace Blocks ( Empty Re pop ulator . INSTANCE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( block : ĠBlock ) Ġ= Ġcontains ( block . location ) ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( player : ĠPlayer ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġloc Ġ= Ġplayer . location ĊĠĠĠĠĠĠĠ Ġif Ġ( loc . block Y Ġ== Ġmax Y Ġ+ Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloc . y Ġ= Ġmax Y . toDouble () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcontains ( loc ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( location : ĠLocation ) Ġ= Ġcontains ( location . to Vector 3 ()) ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( vector : ĠVector ) Ġ= Ġcontains ( vector . to Vector 3 ()) ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( vector : ĠVector 3 <* >) Ġ= Ġregion . contains ( vector . to WE ()) ĊĊĠĠĠ Ġprivate Ġfun Ġcheck If Enabled () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠM ine Not Enabled Exception ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġreplace Blocks ( re pop ulator : ĠM ine Re pop ulator , Ġexecutor : ĠM ine Reset Executor Ġ= Ġdefault Executor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġexecutor . reset ( re pop ulator ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġserialize Region (): ĠMap < String , ĠAny > ĊĊĠĠĠ Ġoverride Ġfun Ġiterator () Ġ= ĠWorld Edit Iterator ( world , Ġregion ) ĊĊĠĠĠ Ġoverride Ġfun Ġdelete () Ġ{ ĊĠĠĠĠĠĠĠ Ġdisable () ĊĠĠĠĠĠĠĠ Ġfile . delete () ĊĠĠĠĠĠĠĠ ĠM ine Deleted Event ( this ). call () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisable () Ġ{ ĊĠĠĠĠĠĠĠ Ġplugin . plugin Logger . log (" Dis abling Ġmine Ġ'$ name ' ...") ĊĠĠĠĠĠĠĠ Ġif Ġ( count ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounting Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplugin . unregister Listener ( this ) ĊĠĠĠĠĠĠĠ Ġun load () ĊĠĠĠĠĠĠĠ ĠM ine Disabled Event ( this ). call () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun load () Ġ{ ĊĠĠĠĠĠĠĠ ĠM ine Un loaded Event ( this ). call () ĊĠĠĠĠĠĠĠ Ġsave () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġenable () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! count ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounting Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplugin . register Listener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġlisteners : ĠMutable List < Mine Clock Listener > Ġ= ĠArrayList () ĊĊĠĠĠ Ġoverride Ġval Ġclock Listeners : ĠList < Mine Clock Listener > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġlisteners ĊĊĠĠĠ Ġoverride Ġfun Ġadd Clock Listener ( function : Ġ() Ġ-> ĠUnit ): ĠM ine Clock Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġl Ġ= ĠM ine Clock Listener ( function ) ĊĠĠĠĠĠĠĠ Ġadd Clock Listener ( l ) ĊĠĠĠĠĠĠĠ Ġreturn Ġl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Clock Listener ( listener : ĠM ine Clock Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlisteners . add ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Clock Listener ( listener : ĠM ine Clock Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlisteners . remove ( listener ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ ĠM ine Saved Event ( this ). call () ĊĠĠĠĠĠĠĠ Ġsave To ( file , Ġplugin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprovide () Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ NAME _ IDENTIFIER , Ġname ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ ALIAS _ IDENTIFIER , Ġalias ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ TYPE _ IDENTIFIER , Ġtype . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ ENABLED _ IDENTIFIER , Ġenabled . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ COMP OS ITION _ IDENTIFIER , Ġcomposition . name ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ WORLD _ IDENTIFIER , Ġworld . name ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ MIN ED _ BLOCKS _ IDENTIFIER , Ġm ined Blocks . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ VOLUME _ IDENTIFIER , Ġvolume . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ BLOCKS _ PERCENT _ LEFT _ IDENTIFIER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM ine Me Constants . DECIMAL _ FORMAT . format ( min ed Blocks Percentage )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ RESET _ TIME _ PAS SED _ IDENTIFIER , Ġcurrent Count down . to Seconds String ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ TOTAL _ RESET _ TIME _ IDENTIFIER , Ġreset Delay . to Seconds String ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessage Variable ( Mine Me Constants . M INE _ RESET _ TIME _ LEFT _ IDENTIFIER , Ġtime To Next Reset . to Seconds String ()) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ EventHandler ( priority Ġ= ĠEvent Priority . MONITOR ) ĊĠĠĠ Ġfun Ġon Block Break ( e : ĠBlock Break Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( contains ( e . block )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ined Blocks ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ( priority Ġ= ĠEvent Priority . MONITOR ) ĊĠĠĠ Ġfun Ġon Block Break ( e : ĠBlock Explo de Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( block Ġin Ġe . blockList ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( contains ( block )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ined Blocks ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ