package Ġbr . com . dev srs ou za . kotlin bukkit api . extensions . configuration Ċ Ċ import Ġorg . bukkit . configuration . Configuration Section Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun ĠConfiguration Section . put All ( map : ĠMap < String , ĠAny ?> ) Ġ{ ĊĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġmap ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġis ĠMap < *, Ġ* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( key , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( getConfiguration Section ( key ) Ġ?: Ġcreate Section ( key )). put All ( value Ġas ĠMap < String , ĠAny ?> ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ returns Ġthe Ġcount Ġof Ġabsent Ġvalues Ġthat Ġwas Ġset , Ġif Ġreturns Ġ 0 , Ġno Ġvalues Ġwas Ġset Ġto Ġthe ĠConfiguration Ċ Ġ*/ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun ĠConfiguration Section . put All If Absent ( map : ĠMap < String , ĠAny ?> ): ĠInt Ġ{ ĊĠĠĠ Ġvar Ġmissing Ġ= Ġ 0 ĊĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġmap ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġis ĠMap < *, Ġ* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmissing Ġ+= Ġ( getConfiguration Section ( key ) Ġ?: Ġcreate Section ( key )). put All If Absent ( value Ġas ĠMap < String , ĠAny ?> ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! contains ( key )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmissing ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmissing Ċ } Ċ Ċ fun ĠConfiguration Section . toMap (): ĠMap < String , ĠAny ?> Ġ{ ĊĠĠĠ Ġreturn Ġget Values ( false ). on Each Ġ{ Ġ( k , Ġv ) Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( v Ġis ĠConfiguration Section ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( k , Ġv . toMap ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }