moddata

package
v0.0.0-...-7db9a95 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2025 License: AGPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AboutXML

type AboutXML struct {
	XMLName           xml.Name                `xml:"ModMetaData"`
	Name              string                  `xml:"name"`
	Author            string                  `xml:"author"`
	PackageID         string                  `xml:"packageId"`
	SupportedVersions []string                `xml:"supportedVersions>li"`
	ModDependencies   []AboutXMLModDependency `xml:"modDependencies>li"`
	ForceLoadBefore   []string                `xml:"forceLoadBefore>li"`
	ForceLoadAfter    []string                `xml:"forceLoadAfter>li"`
	LoadAfter         []string                `xml:"loadAfter>li"`
	LoadBefore        []string                `xml:"loadBefore>li"`
	Description       string                  `xml:"description"`

	// Extended metadata
	Meta struct {
		ModPath   string
		AboutPath string
		ImagePath string
		SteamID   string
		IsSteam   bool
	} `xml:"-"`
}

AboutXML file structure

func DiscoverMods

func DiscoverMods(folders ...string) (r []AboutXML, err error)

Walk the workshop folder and parse mods' About.xml

func LoadAboutXML

func LoadAboutXML(filename string) (AboutXML, error)

func (*AboutXML) DependentOn

func (mod *AboutXML) DependentOn(target *AboutXML) bool

func (*AboutXML) DependsOn

func (mod *AboutXML) DependsOn(target *AboutXML) bool

func (*AboutXML) Save

func (mod *AboutXML) Save() error

func (*AboutXML) String

func (m *AboutXML) String() string

type AboutXMLModDependency

type AboutXMLModDependency struct {
	PackageID        string `xml:"packageId"`
	DisplayName      string `xml:"displayName"`
	SteamWorkshopURL URL    `xml:"steamWorkshopUrl"`
	DownloadURL      URL    `xml:"downloadUrl"`
}

AboutXMLModDependency about.xml' hard dependency block

func (*AboutXMLModDependency) String

func (dep *AboutXMLModDependency) String() string

type ConstraintCatalog

type ConstraintCatalog struct {
	Rules []*ConstraintRule `toml:"rule"`
	// contains filtered or unexported fields
}

func NewConstraintCatalog

func NewConstraintCatalog(filename string) *ConstraintCatalog

func NewConstraintCatalogFromFile

func NewConstraintCatalogFromFile(filename string) (*ConstraintCatalog, error)

func (*ConstraintCatalog) Add

func (*ConstraintCatalog) Del

func (c *ConstraintCatalog) Del(idx int)

func (*ConstraintCatalog) Load

func (c *ConstraintCatalog) Load() error

func (*ConstraintCatalog) LoadFrom

func (c *ConstraintCatalog) LoadFrom(f string) error

func (*ConstraintCatalog) Save

func (c *ConstraintCatalog) Save() error

type ConstraintRule

type ConstraintRule struct {
	PackageID  string   `toml:"package_id"`
	Name       string   `toml:"name"`
	LoadAfter  []string `toml:"dependencies"`
	LoadBefore []string `toml:"load_before"`
	LoadLast   bool     `toml:"load_last"`
	LoadFirst  bool     `toml:"load_first"`
	LoadWeight int32    `toml:"load_weight"`
}

ModMetaDataConstraints

func NewConstraintRule

func NewConstraintRule(packageID string) *ConstraintRule

func (*ConstraintRule) AddDependency

func (m *ConstraintRule) AddDependency(dep string) *ConstraintRule

func (*ConstraintRule) DependsOn

func (m *ConstraintRule) DependsOn(pid string) bool

type ModsConfig

type ModsConfig struct {
	ModsConfigData ModsConfigData
	Filename       string
}

func NewModsConfig

func NewModsConfig(filename string) (*ModsConfig, error)

func (*ModsConfig) Load

func (m *ModsConfig) Load() error

func (*ModsConfig) Save

func (m *ModsConfig) Save() error

func (*ModsConfig) String

func (m *ModsConfig) String() string

type ModsConfigData

type ModsConfigData struct {
	XMLName         xml.Name `xml:"ModsConfigData"`
	Version         string   `xml:"version"`
	ActiveMods      []string `xml:"activeMods>li"`
	KnownExpansions []string `xml:"knownExpansions>li"`
}

type SavedModList

type SavedModList struct {
	XMLName xml.Name `xml:"savedModList"`

	Meta struct {
		GameVersion string   `xml:"gameVersion"`
		ModIds      []string `xml:"modIds>li"`
		ModSteamIds []string `xml:"modSteamIds>li"`
		ModNames    []string `xml:"modNames>li"`
	} `xml:"meta"`

	ModList struct {
		IDs   []string `xml:"ids>li"`
		Names []string `xml:"names>li"`
	} `xml:"modList"`
}

func NewSavedModList

func NewSavedModList(orderedModList []*AboutXML) *SavedModList

func (*SavedModList) Save

func (s *SavedModList) Save(filename string) error

type URL

type URL string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL