Versions in this module Expand all Collapse all v0 v0.7.1 Feb 11, 2024 v0.7.0 Dec 29, 2023 Changes in this version + var ErrInvalidGameDirectory = errors.New("invalid game directory") + var ErrModAlreadyDisabled = errors.New("mod is already disabled") + var ErrModAlreadyEnabled = errors.New("mod is already enabled") + var ErrModNotFoundLocal = errors.New("mod was not found in the local mods directory") + var ErrNoCompatibleRelease = errors.New("no compatible release was found") + type DatReader struct + func (d *DatReader) Advance(offset int64) + func (d *DatReader) ReadBool() bool + func (d *DatReader) ReadModWithCRC() ModIdent + func (d *DatReader) ReadOptimizedVersion(withBuild bool) Version + func (d *DatReader) ReadString() string + func (d *DatReader) ReadUint16() uint16 + func (d *DatReader) ReadUint16Optimized() uint16 + func (d *DatReader) ReadUint32() uint32 + func (d *DatReader) ReadUint8() uint8 + func (d *DatReader) ReadUnoptimizedVersion() Version + type Dependency struct + Kind DependencyKind + Name string + Req VersionCmpRes + Version *Version + func NewDependency(input string) (*Dependency, error) + func (d *Dependency) Test(ver *Version) bool + func (d *Dependency) ToString() string + func (d *Dependency) UnmarshalJSON(data []byte) error + type DependencyKind uint8 + const DependencyHiddenOptional + const DependencyIncompatible + const DependencyNoLoadOrder + const DependencyOptional + const DependencyRequired + type Manager struct + DoSave bool + Portal ModPortal + func NewManager(gamePath string) (*Manager, error) + func (m *Manager) Add(mod ModIdent) (*Version, error) + func (m *Manager) Disable(modName string) error + func (m *Manager) DisableAll() + func (m *Manager) Enable(ident ModIdent) (*Version, error) + func (m *Manager) ExpandDependencies(mods []ModIdent, fetchFromPortal bool) []ModIdent + func (m *Manager) GetApiKey() string + func (m *Manager) GetMod(name string) (*Mod, error) + func (m *Manager) GetMods() []ModIdent + func (m *Manager) GetPlayerData() PlayerData + func (m *Manager) HasApiKey() bool + func (m *Manager) HasPlayerData() bool + func (m *Manager) Save() error + func (m *Manager) SetApiKey(key string) + func (m *Manager) SetPlayerData(playerData PlayerData) + type Mod struct + Enabled *Version + Name string + func (m *Mod) GetLatestRelease() *Release + func (m *Mod) GetMatchingRelease(dep *Dependency) *Release + func (m *Mod) GetRelease(version *Version) *Release + type ModIdent struct + Name string + Version *Version + func NewModIdent(input string) ModIdent + func ParseLogFile(filepath string) []ModIdent + func ParseSaveFile(filepath string) ([]ModIdent, error) + func (i *ModIdent) ToString() string + type ModInitUploadRes struct + Message *string + UploadUrl *string + type ModListJson struct + Mods []ModListJsonMod + func ParseModListJson(path string) (*ModListJson, error) + type ModListJsonMod struct + Enabled bool + Name string + Version *Version + type ModPortal struct + func (p *ModPortal) DownloadLatestRelease(name string) (string, error) + func (p *ModPortal) DownloadMatchingRelease(dep *Dependency) (string, error) + func (p *ModPortal) DownloadRelease(name string, version *Version) (string, error) + func (p *ModPortal) GetMatchingRelease(dep *Dependency) (*PortalModRelease, error) + func (p *ModPortal) GetModInfo(name string) (*PortalModInfo, error) + func (p *ModPortal) UploadMod(filepath string) error + type PlayerData struct + Token string + Username string + type PortalModInfo struct + Name string + Releases []PortalModRelease + Title string + type PortalModRelease struct + DownloadUrl string + FileName string + InfoJson infoJson + Version Version + type Release struct + Dependencies []*Dependency + Name string + Path string + Version Version + type Version [4]uint16 + func NewVersion(input string) (*Version, error) + func (v *Version) Cmp(other *Version) VersionCmpRes + func (v *Version) MarshalJSON() ([]byte, error) + func (v *Version) ToString(includeBuild bool) string + func (v *Version) UnmarshalJSON(data []byte) error + type VersionCmpRes uint8 + const VersionAny + const VersionEq + const VersionGt + const VersionGtEq + const VersionLt + const VersionLtEq