package Ġnet . edu ard . api . lib . kotlin Ċ Ċ import Ġnet . edu ard . api . lib . config . Config Ċ import Ġjava . io . File Ċ import Ġjava . util . function . Function ĊĊ Ċ fun Ġ< T > ĠFile . reload List From Folder ( list Type : ĠClass < T >): ĠList < T > Ġ{ ĊĠĠĠ Ġmkdir s () ĊĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < T >() ĊĠĠĠ Ġfor Ġ( fileName Ġin Ġlist () !! ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! fileName . endsWith (". yml ", Ġfalse )) Ġcontinue ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig ( this , ĠfileName ) ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġconfig [ list Type ] ĊĠĠĠĠĠĠĠ Ġlist . add ( data ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġlist Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT > ĠFile . reload List From Folder (): ĠList < T > Ġ{ ĊĠĠĠ Ġreturn Ġreload List From Folder ( T :: class . java ) Ċ } Ċ Ċ fun Ġ< T > ĠConfig . save ( data : ĠT ) Ġ{ ĊĠĠĠ Ġset ( data ) ĊĠĠĠ Ġsave Config () Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT > ĠConfig . reload (): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġget ( T :: class . java ) Ċ } Ċ Ċ fun Ġ< T > ĠFile . save List In Folder ( list : ĠList < T >, Ġfile N amer : ĠFunction < T , ĠString >) Ġ{ ĊĠĠĠ Ġsave List In Folder ( list , Ġtrue , Ġfile N amer ) Ċ } Ċ Ċ fun Ġ< T > ĠFile . save List In Folder ( list : ĠList < T >, Ġclear Config First : ĠBoolean , Ġfile N amer : ĠFunction < T , ĠString >) Ġ{ ĊĠĠĠ Ġsave All ( list , Ġclear Config First Ġ, Ġfile N amer ) Ċ } Ċ Ċ fun Ġ< T > ĠFile . save All ( collection : ĠCollection < T >, Ġclear Config First : ĠBoolean , Ġfile N amer : ĠFunction < T , ĠString >) Ġ{ ĊĠĠĠ Ġfor Ġ( item Ġin Ġcollection ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig ( this , Ġfile N amer . apply ( item ) Ġ+ Ġ". yml ", Ġ! clear Config First ) ĊĠĠĠĠĠĠĠ Ġif Ġ( clear Config First ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . clear () ĊĠĠĠĠĠĠĠ Ġconfig . save ( item ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠFile . save All ( collection : ĠCollection < T >, Ġfile N amer : ĠFunction < T , ĠString >) Ġ{ ĊĠĠĠ Ġsave All ( collection , Ġtrue , Ġfile N amer ) Ċ } Ċ inline Ġfun Ġ< T > ĠFile . save List In ( list : ĠList < T >, Ġfile N amer : ĠT . () Ġ-> ĠString ) Ġ{ ĊĠĠĠ Ġfor Ġ( item List Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig ( this , Ġfile N amer ( item List ) Ġ+ Ġ". yml ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġconfig . clear () ĊĠĠĠĠĠĠĠ Ġconfig . save ( item List ) ĊĠĠĠ Ġ} Ċ } Ċ inline Ġfun Ġ< T > ĠFile . save All In ( collection : ĠCollection < T >, Ġfile N amer : ĠT . () Ġ-> ĠString ) Ġ{ ĊĠĠĠ Ġfor Ġ( item Ġin Ġcollection ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig ( this , Ġfile N amer ( item ) Ġ+ Ġ". yml ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġconfig . clear () ĊĠĠĠĠĠĠĠ Ġconfig . save ( item ) ĊĠĠĠ Ġ} Ċ }