package Ġme . go pro 3 3 6 . zen ith . feature . command Ċ /* Ċ import Ġme . ro be art . ra ion . client . macro . Macro Ċ import Ġme . ro be art . ra ion . client . managers . Macro Manager Ċ import Ġme . ro be art . ra ion . client . util . Chat Utils Ċ import Ġme . ro be art . ra ion . client . util . Key Ċ Ċ object ĠMacro Command : ĠCommand ( Ċ ĉ " Macro ", Ċ ĉ array Of (" Mac ", Ġ" m ", Ġ" macros "), Ċ ĉ " Allow s Ġthe Ġaddition Ġor Ġremoval Ġof Ġmacros ", Ċ ĉ " macro Ġadd / remove / set / list Ġ< key > Ġ< commands > Ġ( separate Ġlines Ġwith Ġ\ "; \") " Ċ ) Ġ{ Ċ ĉ override Ġfun Ġcall ( args : ĠArray < String >) Ġ{ Ċĉ ĉ if Ġ( args . size Ġ== Ġ 1 ) Ġ{ Ċĉĉ ĉ val Ġcontrol Ġ= Ġargs [ 0 ] ĊĉĉĉĊĉĉ ĉ if Ġ( control . equals (" list ", Ġtrue )) Ġ{ Ċĉĉĉ ĉ val Ġout Ġ= Ġbuild String Ġ{ Ċĉĉĉĉ ĉ append (" Listing Ġ${ Macro Manager . size } Ġmacros :\ n ") Ċĉĉĉĉ ĉ append ( Macro Manager . entries . join ToString ("\ n ", Ġtransform Ġ= Ġ{ Ġentry Ġ-> Ċĉĉĉĉĉ ĉ "${ entry . key } Ġ-> Ġ${ entry . value . commands }" Ċĉĉĉĉ ĉ })) Ċĉĉĉ ĉ }. trim () Ċĉĉĉ ĉ Chat Utils . message ( out ) Ċĉĉĉ ĉ return Ċĉĉ ĉ } Ċĉ ĉ } Ġelse Ġif Ġ( args . size Ġ>= Ġ 2 ) Ġ{ Ċĉĉ ĉ val Ġcontrol Ġ= Ġargs [ 0 ] ĊĉĉĉĊĉĉ ĉ val Ġkey Name Ġ= Ġargs [ 1 ] Ċĉĉ ĉ val Ġkey Ġ= Ġtry Ġ{ Ċĉĉĉ ĉ Key . from Name ( key Name ) Ċĉĉ ĉ } Ġcatch Ġ( t : ĠThrowable ) Ġ{ Ċĉĉĉ ĉ t . printStackTrace () Ċĉĉĉ ĉ Chat Utils . error (" Couldn 't Ġfind Ġkey Ġ$ key Name ") Ċĉĉĉ ĉ return Ċĉĉ ĉ } Ċĉĉ ĉ if Ġ( control . equals (" add ", Ġtrue )) Ġ{ Ċĉĉĉ ĉ val Ġrun Args Ġ= Ġbuild String Ġ{ Ċĉĉĉĉ ĉ for Ġ( arg Ġin Ġ 2 Ġuntil Ġargs . size ) Ġ{ Ċĉĉĉĉĉ ĉ append ( args [ arg ] Ġ+ Ġ" Ġ") Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ċĉĉĉ ĉ val Ġexisting Ġ= ĠMacro Manager [ key ] Ċĉĉĉ ĉ if Ġ( existing Ġ!= Ġnull ) Ġ{ Ċĉĉĉĉ ĉ existing . commands Ġ+= Ġ"; $ run Args " Ċĉĉĉĉ ĉ Chat Utils . message (" App ended Ġcommands Ġto Ġexisting Ġmacro Ġ$ key ") Ċĉĉĉĉ ĉ return Ċĉĉĉ ĉ } Ġelse Ġ{ Ċĉĉĉĉ ĉ val Ġmacro Ġ= ĠMacro ( key , Ġrun Args ) Ċĉĉĉĉ ĉ Macro Manager [ key ] Ġ= Ġmacro Ċĉĉĉĉ ĉ Chat Utils . message (" Added Ġmacro Ġfor Ġkey Ġ$ key ") Ċĉĉĉĉ ĉ return Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ġelse Ġif Ġ( control . equals (" set ", Ġtrue )) Ġ{ Ċĉĉĉ ĉ val Ġrun Args Ġ= Ġbuild String Ġ{ Ċĉĉĉĉ ĉ for Ġ( arg Ġin Ġ 2 Ġuntil Ġargs . size ) Ġ{ Ċĉĉĉĉĉ ĉ append ( args [ arg ] Ġ+ Ġ" Ġ") Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ċĉĉĉ ĉ val Ġexisting Ġ= ĠMacro Manager [ key ] Ċĉĉĉ ĉ if Ġ( existing Ġ!= Ġnull ) Ġ{ Ċĉĉĉĉ ĉ existing . commands Ġ= Ġrun Args Ċĉĉĉĉ ĉ Chat Utils . message (" Set Ġcommands Ġfor Ġexisting Ġmacro Ġ$ key ") Ċĉĉĉĉ ĉ return Ċĉĉĉ ĉ } Ġelse Ġ{ Ċĉĉĉĉ ĉ val Ġmacro Ġ= ĠMacro ( key , Ġrun Args ) Ċĉĉĉĉ ĉ Macro Manager [ key ] Ġ= Ġmacro Ċĉĉĉĉ ĉ Chat Utils . message (" Added Ġmacro Ġfor Ġkey Ġ$ key ") Ċĉĉĉĉ ĉ return Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ġelse Ġif Ġ( control . equals (" remove ", Ġtrue )) Ġ{ Ċĉĉĉ ĉ if Ġ( Macro Manager . remove ( key ) Ġ!= Ġnull ) Ġ{ Ċĉĉĉĉ ĉ Chat Utils . message (" Removed Ġmacro Ġfor Ġkey Ġ$ key ") Ċĉĉĉĉ ĉ return Ċĉĉĉ ĉ } Ġelse Ġ{ Ċĉĉĉĉ ĉ Chat Utils . error (" Couldn 't Ġfind Ġmacro Ġfor Ġkey Ġ$ key ") Ċĉĉĉĉ ĉ return Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ġelse Ġif Ġ( control . equals (" list ", Ġtrue )) Ġ{ Ċĉĉĉ ĉ Chat Utils . message (" Macro Ġfor Ġkey Ġ$ key : Ġ${ Macro Manager [ key ]?. commands }") Ċĉĉĉ ĉ return Ċĉĉ ĉ } Ċĉ ĉ } Ċĉ ĉ Chat Utils . error ( this . usage ) Ċ ĉ } Ċ }*/ Ċ