Socket
Socket
Sign inDemoInstall

@xmcl/curseforge

Package Overview
Dependencies
2
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @xmcl/curseforge

An implementation of curseforge (official) API in https://docs.curseforge.com/


Version published
Weekly downloads
72
increased by140%
Maintainers
1
Install size
1.34 MB
Created
Weekly downloads
 

Changelog

Source

@xmcl/curseforge@2.1.1

Bug Fixes
  • fix: Update undici version (f78e1b3fe5e24c2dccf910129ef8e25d7f164e83)
  • fix: Curseforge should respect the modLoaderTypes (6759abf611f1a5475a72a90110c8fa2c12c592c9)

Readme

Source

Curseforge API

npm version Downloads Install size npm Build Status

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, // 6 is mod,
   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 // mod details

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) // 123
console.log(mod.name) // The mod name
console.log(mod.authors) // [{ id: 123, name: 'The author name' }]
console.log(mod.summary) // The mod summary

Get Mod File List

// sample code for get file list for a mod
const api = new CurseforgeV1Client(process.env.CURSEFORGE_API_KEY)
const { data: files, pagination } = await api.getModFiles({
   modId: 1, // your mod id
   gameVersion: '1.16.5', // support minecraft 1.16.5, optional
   modLoaderType: FileModLoaderType.Fabric, // only fabric, optional
})
const pageSize = pagination.pageSize
const index = pagination.index
const total = pagination.total // total count
const pages = Math.ceil(total / pageSize) // total pages
const firstFile = files[0]

Keywords

FAQs

Last updated on 08 Jan 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc