0.1.0 • Published 8 months ago

@mctools/curseforge v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Lib for working with CurseForge using minecraftinstance.json

Usage

API

  1. Install package

    npm i @mctools/curseforge
  2. Import functions from package.

    import fnc from "@mctools/curseforge"

Functions

fetchMods

fetchMods(modIds, cfApiKey, timeout?, doLogging?): Promise<CFV2.CF2Addon[]>

Get mod information from CurseForge, such as name, summary, download count, etc.

Parameters
NameTypeDefault valueDescription
modIdsnumber[]undefinedIDs of mods you want to fetch. [32274, 59751, 59816]
cfApiKeystringundefinedCurseForge API key. Get one at https://console.curseforge.com/?#/api-keys
timeoutnumber96If file was already fetched last timeout hours, it would be loaded from cache file
doLoggingbooleanfalseLog into stdout
Returns

Promise<CFV2.CF2Addon[]>

Object with information about mods

Example

const cfMods = await fetchMods([32274, 59751, 59816], key)
console.log(cfMods.map(m => m.name)) // ["JourneyMap", "Forestry", "Random Things"]

loadMCInstanceFiltered

loadMCInstanceFiltered(mci, ignore?): Minecraftinstance

Load minecraftinstance.json file from disk, filtering unavailable or ignored mods

Parameters
NameTypeDescription
mciMinecraftinstanceJson object of minecraftinstance.json
ignore?string | Ignore | readonly (string | Ignore)[].gitignore-like file content with mods to ignore. For example, ignore contains 3 lines: ts const mci = loadMCInstanceFiltered(mciPath, ` scripts/debug config/FBP/* mods/tellme-* `) Since it have line mods/tellme-* in it, mod tellme-1.12.2-0.7.0.jar would be removed from result.
Returns

Minecraftinstance

Same minecraftinstance object but without unavailable on CF mods like Optifine or Nutrition.


modList

modList(fresh, old?, ignore?): ModsUnion

Compare two minecraftinstance.json files and output differences between them

Parameters
NameTypeDescription
freshMinecraftinstanceJson object from minecraftinstance.json of current version
old?undefinedJson object from minecraftinstance.json of previous version.
ignore?string | Ignore | readonly (string | Ignore)[].gitignore-like file content with mods to ignore. Useful for dev-only mods that should not be included in result.
Returns

ModsUnion

Result of comparsion. if old is omited, returns only union field.

modList(fresh, old?, ignore?): ModsComparsion

Parameters
NameType
freshMinecraftinstance
old?Minecraftinstance
ignore?string | Ignore | readonly (string | Ignore)[]
Returns

ModsComparsion

Author

Other tools