package Ġio . github . nick ac pt . mixin offline app lier tool . mixins Ċ Ċ import Ġorg . spongepowered . asm . service . IG lobal Property Service Ċ import Ġorg . spongepowered . asm . service . I Property Key Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠGlobal Ġproperties Ġservice Ġfor ĠM ixin Ċ Ġ*/ Ċ class ĠGlobal Property ServiceImpl Ġ: ĠI Global Property Service Ġ{ ĊĠĠĠ Ġprivate Ġclass ĠBasic Property ( private Ġval Ġname : ĠString ) Ġ: ĠI Property Key Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġequals ( o : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġo ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( o Ġ== Ġnull Ġ|| Ġjava Class Ġ!= Ġo . java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthat Ġ= Ġo Ġas ĠBasic Property ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġname Ġ== Ġthat . name ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠObjects . hash ( name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" Basic Property {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ='" Ġ+ Ġname Ġ+ Ġ'\'' Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' }' ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġkeys : ĠMutable Map < String , ĠI Property Key > Ġ= ĠHashMap () ĊĠĠĠ Ġprivate Ġval Ġvalues : ĠMutable Map < I Property Key , ĠAny > Ġ= ĠHashMap () ĊĠĠĠ Ġoverride Ġfun Ġresolve Key ( name : ĠString ): ĠI Property Key Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkeys . compute If Absent ( name ) Ġ{ Ġname : ĠString Ġ-> ĠBasic Property ( name ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T > ĠgetProperty ( key : ĠI Property Key ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalues [ key ] Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Property ( key : ĠI Property Key , Ġvalue : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalues [ key ] Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T > ĠgetProperty ( key : ĠI Property Key , ĠdefaultValue : ĠT ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalues . get OrDefault ( key , ĠdefaultValue !! ) Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetProperty String ( key : ĠI Property Key , ĠdefaultValue : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalues . get OrDefault ( key , ĠdefaultValue ) Ġas ĠString ĊĠĠĠ Ġ} Ċ }