Curseforge API
Provide the curseforge API wrapper in https://docs.curseforge.com/
Usage
This package is depending on undici for HTTP in nodejs, and the browser version will use browser fetch
instead of undici.
Find Curseforge Mods by search keyword
You can search curseforge mods by keyword
import { CurseforgeV1Client, SearchOptions } from '@xmcl/curseforge'
const api = new CurseforgeV1Client(process.env.CURSEFORGE_API_KEY)
const searchOptions: SearchOptions = {
categoryId: 6,
searchFilter: 'search-keyword',
};
const result = await api.searchMods(searchOptions)
const pageSize = result.pagination.pageSize
const total = result.pagination.total
const totalPages = Math.ceil(total / pageSize)
const mods: Mod[] = result.data
The Mod detail
You can get the mod detail by mod id
import { CurseforgeV1Client } from '@xmcl/curseforge'
const api = new CurseforgeV1Client(process.env.CURSEFORGE_API_KEY)
const mod = await api.getMod(123)
console.log(mod.id)
console.log(mod.name)
console.log(mod.authors)
console.log(mod.summary)
Get Mod File List
const api = new CurseforgeV1Client(process.env.CURSEFORGE_API_KEY)
const { data: files, pagination } = await api.getModFiles({
modId: 1,
gameVersion: '1.16.5',
modLoaderType: FileModLoaderType.Fabric,
})
const pageSize = pagination.pageSize
const index = pagination.index
const total = pagination.total
const pages = Math.ceil(total / pageSize)
const firstFile = files[0]