minecraft-api is an advanced TypeScript/JavaScript client for interacting with Minecraft version data, Mojang APIs, piston-meta, and Minecraft servers. It provides high-level and low-level APIs for fetching version manifests, server status, user profiles, libraries, and more.
- Fetch Minecraft version manifests and details (release & snapshot)
- Query Minecraft server status, ping, and legacy ping
- Download Minecraft libraries and asset indexes
- Fetch Mojang user profiles and name history
- Retrieve Mojang server status
- Fully typed and written in TypeScript
npm install @threadmc/minecraft-api
# or
yarn add @threadmc/minecraft-api
# or
pnpm add @threadmc/minecraft-api
# or
bun add @threadmc/minecraft-api
import { Client, VersionType } from "@threadmc/minecraft-api";
const client = new Client();
async function main() {
// Fetch latest release version details
const latestRelease = await client.fetchLatestVersion(VersionType.RELEASE);
console.log("Latest Release:", latestRelease);
// Fetch server status
const status = await client.getServerStatus("mc.hypixel.net");
console.log("Hypixel Status:", status);
// Fetch Mojang user profile
const profile = await client.fetchUserProfile("JonasCraftHD");
console.log("User Profile:", profile);
}
main();
fetchVersion(version: string)
fetchVersions(type: VersionType)
fetchLatestVersion(type: VersionType)
getServerStatus(host: string, port?: number)
pingServer(host: string, port?: number)
fetchAssetIndex(version: string)
fetchLibrary(libraryPath: string)
fetchUserProfile(username: string)
fetchNameHistory(uuid: string)
fetchMojangStatus()
Version
VersionManifest
VersionDetails
-
VersionType
(RELEASE
|SNAPSHOT
)
Contributions are welcome! Please open issues or pull requests on GitHub.
- Clone the repository
- Run
npm install
- Use
npm run build
to compile TypeScript - Use
npm run format
to format code
This project uses Prettier for code formatting.
BSD 3-Clause License. See LICENSE for details.