Versions in this module Expand all Collapse all v0 v0.3.0 Nov 2, 2026 Changes in this version + func AuthorFilesURL(projectID int) string + type UploadConfig struct + BaseURL string + HTTP *http.Client + Token string + UserAgent string + type Uploader struct + func NewUploader(cfg UploadConfig) *Uploader + func (u *Uploader) Upload(ctx context.Context, path string, projectID int, displayName, changelog string) (int, error) v0.2.0 Oct 31, 2026 Changes in this version type Mod + func (m *Mod) UnmarshalJSON(b []byte) error + func (m Mod) Available() bool v0.1.0 Oct 30, 2026 Changes in this version + const BaseURL + const HashMD5 + const HashSHA1 + const MaxPageSize + const MaxWindow + const RelationEmbeddedLibrary + const RelationInclude + const RelationIncompatible + const RelationOptional + const RelationRequired + const RelationTool + const ReleaseAlpha + const ReleaseBeta + const ReleaseStable + const Scheme + const SortAuthor + const SortCategory + const SortEarlyAccess + const SortFeatured + const SortFeaturedRelease + const SortGameVersion + const SortLastUpdated + const SortName + const SortPopularity + const SortRating + const SortReleasedDate + const SortTotalDownloads + const StatusAbandoned + const StatusApproved + const StatusChangesMade + const StatusChangesRequired + const StatusDeleted + const StatusInactive + const StatusNew + const StatusRejected + const StatusUnderReview + const StatusUnderSoftReview + var ErrBeyondWindow = errors.New("curseforge: search window exceeded") + var ErrNoDownload = errors.New("curseforge: file has no download address") + var ErrNoKey = errors.New("curseforge: no API key") + func Denied(err error) bool + type Asset struct + Description string + ID int + ModID int + ThumbnailURL string + Title string + URL string + type Category struct + ClassID int + DateModified string + DisplayIndex int + GameID int + ID int + IconURL string + IsClass bool + Name string + ParentCategoryID int + Slug string + URL string + type Client struct + func New(cfg Config) *Client + func (c *Client) Categories(ctx context.Context, gameID, classID int) ([]Category, error) + func (c *Client) Changelog(ctx context.Context, modID, fileID int) (string, error) + func (c *Client) Classes(ctx context.Context, gameID int) ([]Category, error) + func (c *Client) Description(ctx context.Context, id int) (string, error) + func (c *Client) DownloadURL(ctx context.Context, modID, fileID int) (string, error) + func (c *Client) File(ctx context.Context, modID, fileID int) (File, error) + func (c *Client) Files(ctx context.Context, modID int, q FilesQuery) (FilesResult, error) + func (c *Client) Mod(ctx context.Context, id int) (Mod, error) + func (c *Client) Mods(ctx context.Context, ids []int) ([]Mod, error) + func (c *Client) Search(ctx context.Context, q SearchQuery) (SearchResult, error) + type Config struct + APIKey string + BaseURL string + HTTP *http.Client + UserAgent string + type Dependency struct + ModID int + RelationType int + type File struct + Dependencies []Dependency + DisplayName string + DownloadCount int64 + DownloadURL string + FileDate string + FileLength int64 + FileName string + FileStatus int + GameID int + GameVersions []string + Hashes []Hash + ID int + IsAvailable bool + ModID int + ReleaseType int + func Newest(files []File, gameVersions []string, maxRelease int) (File, bool) + func (f File) Required() []int + func (f File) SHA1() string + type FilesQuery struct + GameVersion string + Index int + PageSize int + type FilesResult struct + Files []File + Pagination Pagination + type Hash struct + Algo int + Value string + type Mod struct + AllowModDistribution *bool + Authors []struct{ ... } + Categories []Category + ClassID int + DateCreated string + DateModified string + DateReleased string + DownloadCount int + GameID int + ID int + IsAvailable bool + IsFeatured bool + LatestFiles []File + Links struct{ ... } + Logo Asset + MainFileID int + Name string + PrimaryCategoryID int + Screenshots []Asset + Slug string + Status int + Summary string + ThumbsUpCount int + func (m Mod) CategoryNames() []string + func (m Mod) Restricted() bool + type Pagination struct + Index int + PageSize int + ResultCount int + TotalCount int + type Ref struct + File int + Project int + func ParseLink(raw string) (Ref, error) + type SearchQuery struct + Ascending bool + CategoryIDs []int + ClassID int + GameID int + GameVersion string + Index int + PageSize int + SortField int + Text string + type SearchResult struct + Mods []Mod + Pagination Pagination