z_mirror/fmm
git clone https://git.raiguard.me/z_mirror/fmm
37666c9
trunk
1package fmm 2 3import ( 4"encoding/json" 5"errors" 6"os" 7) 8 9type ModListJson struct { 10Mods []ModListJsonMod `json:"mods"` 11} 12 13type ModListJsonMod struct { 14Name string `json:"name"` 15Enabled bool `json:"enabled"` 16Version * Version `json:"version,omitempty"` 17} 18 19func ParseModListJson (path string ) (* ModListJson ,error ) { 20modListJsonData ,err := os .ReadFile (path ) 21if err != nil { 22if errors .Is (err ,os .ErrNotExist ) { 23return nil ,nil 24 } 25return nil ,errors .Join (errors .New ("error reading mod-list.json" ),err ) 26 } 27 28var modListJson ModListJson 29if err = json .Unmarshal (modListJsonData ,& modListJson );err != nil { 30return nil ,errors .Join (errors .New ("error parsing mod-list.json" ),err ) 31 } 32return & modListJson ,nil 33}