z_mirror/fmm

git clone https://git.raiguard.me/z_mirror/fmm

Caleb HeuerRemove isInternal flag from ModListJsonMod37666c9

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