{"id":15014924,"url":"https://github.com/voxelum/minecraft-launcher-core-node","last_synced_at":"2025-05-15T14:03:04.403Z","repository":{"id":41128684,"uuid":"94502729","full_name":"Voxelum/minecraft-launcher-core-node","owner":"Voxelum","description":"Provide packages to install Minecraft, launch Minecraft and more to build launcher with NodeJs/Electron!","archived":false,"fork":false,"pushed_at":"2025-04-13T16:06:20.000Z","size":29459,"stargazers_count":188,"open_issues_count":27,"forks_count":29,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-15T03:53:36.238Z","etag":null,"topics":["electron","fabric","minecraft","minecraft-launcher","minecraft-launcher-node","minecraftforge","nodejs","typescript"],"latest_commit_sha":null,"homepage":"https://docs.xmcl.app/en/core/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Voxelum.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-16T03:47:31.000Z","updated_at":"2025-04-13T16:06:24.000Z","dependencies_parsed_at":"2024-01-16T20:16:38.375Z","dependency_job_id":"143b73b7-e863-4a83-b2d4-16f374b23eb9","html_url":"https://github.com/Voxelum/minecraft-launcher-core-node","commit_stats":{"total_commits":1553,"total_committers":22,"mean_commits":70.5909090909091,"dds":0.08370895041854476,"last_synced_commit":"4c530615a5ab56f39bb9d9a6110123ffb0a838f0"},"previous_names":["ci010/ts-minecraft"],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voxelum%2Fminecraft-launcher-core-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voxelum%2Fminecraft-launcher-core-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voxelum%2Fminecraft-launcher-core-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Voxelum%2Fminecraft-launcher-core-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Voxelum","download_url":"https://codeload.github.com/Voxelum/minecraft-launcher-core-node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003955,"owners_count":21196794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","fabric","minecraft","minecraft-launcher","minecraft-launcher-node","minecraftforge","nodejs","typescript"],"created_at":"2024-09-24T19:46:16.855Z","updated_at":"2025-04-15T03:53:48.227Z","avatar_url":"https://github.com/Voxelum.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minecraft Launcher Core\n\n[![npm](https://img.shields.io/npm/l/@xmcl/core.svg)](https://github.com/voxelum/minecraft-launcher-core-node/blob/master/LICENSE)\n[![Build Status](https://github.com/voxelum/minecraft-launcher-core-node/workflows/Build/badge.svg)](https://github.com/Voxelum/minecraft-launcher-core-node/actions?query=workflow%3ABuild)\n[![Convensional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://www.conventionalcommits.org)\n[![Discord](https://discord.com/api/guilds/405213567118213121/widget.png)](https://discord.gg/W5XVwYY7GQ)\n\nProvide several useful functions to build a Minecraft Launcher.\n\nMost packages are targeting the [Electron](https://electronjs.org) environment. Feel free to report issues related to it.\n\n### Looking for C# Launcher Core?\n\nIntroduce the awesome .net framework launcher core, [ProjBobcat](https://github.com/Corona-Studio/ProjBobcat).\n\nIt's the next generation Minecraft launcher core written in C# providing the freest, fastest and the most complete experience. https://corona.studio\n\n### Featured Launcher\n\n- [x-minecraft-launcher](https://github.com/voxelum/x-minecraft-launcher): An launcher provides general electron api related to minecraft launching (in renderer side), making other developers can easily create new launcher view.\n- [PureLauncher](https://github.com/Apisium/PureLauncher): An awesome Minecraft Launcher using React to build beautiful UI.\n\n\n## Getting Started\n\nYou can see [Active Packages](#active-packages) section to quickly find a package you need.\n\nGo [our document website](https://docs.xmcl.app/en/core) to find more detail usage.\n\n### Active Packages\n\n| Name                    | Usage                                                                                     | Version                                                                                                                           | Location                                                  | Runtime Envrionment |\n| ----------------------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------- |\n| @xmcl/core              | Launch Minecraft                                                                          | [![npm version](https://img.shields.io/npm/v/@xmcl/core.svg)](https://www.npmjs.com/package/@xmcl/core)                           | [packages/core             ](/packages/core)              | Node                |\n| @xmcl/installer         | Install Minecraft                                                                         | [![npm version](https://img.shields.io/npm/v/@xmcl/installer.svg)](https://www.npmjs.com/package/@xmcl/installer)                 | [packages/installer        ](/packages/installer)         | Node                |\n| @xmcl/user              | User Authentication and skin                                                              | [![npm version](https://img.shields.io/npm/v/@xmcl/user.svg)](https://www.npmjs.com/package/@xmcl/user)                           | [packages/user             ](/packages/user)              | Node/Browser        |\n| @xmcl/mod-parser        | Parse forge/liteloader/fabric mod                                                         | [![npm version](https://img.shields.io/npm/v/@xmcl/mod-parser.svg)](https://www.npmjs.com/package/@xmcl/mod-parser)               | [packages/mod-parser       ](/packages/mod-parser)        | Node/Browser        |\n| @xmcl/curseforge        | Provide Curseforge API                                                                    | [![npm version](https://img.shields.io/npm/v/@xmcl/curseforge.svg)](https://www.npmjs.com/package/@xmcl/curseforge)               | [packages/curseforge         ](/packages/curseforge)      | Node/Browser        |\n| @xmcl/modrinth          | Provide Modrinth API                                                                      | [![npm version](https://img.shields.io/npm/v/@xmcl/modrinth.svg)](https://www.npmjs.com/package/@xmcl/modrinth)                   | [packages/modrinth         ](/packages/modrinth)          | Node/Browser        |\n| @xmcl/forge-site-parser | Parse forge website                                                                       | [![npm version](https://img.shields.io/npm/v/@xmcl/forge-site-parser.svg)](https://www.npmjs.com/package/@xmcl/forge-site-parser) | [packages/forge-site-parser](/packages/forge-site-parser) | Node/Browser        |\n| @xmcl/client            | Utilities of Minecraft client network. Ping Minecraft Server                              | [![npm version](https://img.shields.io/npm/v/@xmcl/client.svg)](https://www.npmjs.com/package/@xmcl/client)                       | [packages/client           ](/packages/client)            | Node                |\n| @xmcl/model             | Display player/block model                                                                | [![npm version](https://img.shields.io/npm/v/@xmcl/model.svg)](https://www.npmjs.com/package/@xmcl/model)                         | [packages/model            ](/packages/model)             | Browser             |\n| @xmcl/gamesetting       | Parse game setting                                                                        | [![npm version](https://img.shields.io/npm/v/@xmcl/gamesetting.svg)](https://www.npmjs.com/package/@xmcl/gamesetting)             | [packages/gamesetting      ](/packages/gamesetting)       | Node/Browser        |\n| @xmcl/nbt               | Parse NBT                                                                                 | [![npm version](https://img.shields.io/npm/v/@xmcl/nbt.svg)](https://www.npmjs.com/package/@xmcl/nbt)                             | [packages/nbt              ](/packages/nbt)               | Node/Browser        |\n| @xmcl/text-component    | Parse and render Minecraft text                                                           | [![npm version](https://img.shields.io/npm/v/@xmcl/text-component.svg)](https://www.npmjs.com/package/@xmcl/text-component   )    | [packages/text-component   ](/packages/text-component)    | Node/Browser        |\n| @xmcl/game-data         | Load level data or servers.dat                                                            | [![npm version](https://img.shields.io/npm/v/@xmcl/game-data.svg)](https://www.npmjs.com/package/@xmcl/game-data)                 | [packages/game-data        ](/packages/game-data)         | Node/Browser        |\n| @xmcl/resourcepack      | Parse resource pack                                                                       | [![npm version](https://img.shields.io/npm/v/@xmcl/resourcepack.svg)](https://www.npmjs.com/package/@xmcl/resourcepack)           | [packages/resourcepack     ](/packages/resourcepack)      | Node/Browser        |\n| @xmcl/task              | Util package to create task                                                               | [![npm version](https://img.shields.io/npm/v/@xmcl/task.svg)](https://www.npmjs.com/package/@xmcl/task)                           | [packages/task             ](/packages/task)              | Node/Browser        |\n| @xmcl/system            | A fs middleware for browser/node                                                          | [![npm version](https://img.shields.io/npm/v/@xmcl/system.svg)](https://www.npmjs.com/package/@xmcl/system)                       | [packages/system           ](/packages/system)            | Node/Browser        |\n| @xmcl/semver            | The special semver format using by fabricmc.                                              | [![npm version](https://img.shields.io/npm/v/@xmcl/semver.svg)](https://www.npmjs.com/package/@xmcl/semver)                       | [packages/semver           ](/packages/semver)            | Node/Browser        |\n| @xmcl/unzip             | yauzl unzip wrapper                                                                       | [![npm version](https://img.shields.io/npm/v/@xmcl/unzip.svg)](https://www.npmjs.com/package/@xmcl/unzip)                         | [packages/unzip            ](/packages/unzip)             | Node                |\n| @xmcl/file-transfer     | High performance undici file download implementation                                      | [![npm version](https://img.shields.io/npm/v/@xmcl/file-transfer.svg)](https://www.npmjs.com/package/@xmcl/file-transfer)         | [packages/file-transfer    ](/packages/file-transfer)     | Node                |\n| @xmcl/nat-api           | Port mapping with UPnP and NAT-PMP                                                        | [![npm version](https://img.shields.io/npm/v/@xmcl/nat-api.svg)](https://www.npmjs.com/package/@xmcl/nat-api)                     | [packages/nat-api          ](/packages/nat-api)           | Node                |\n| @xmcl/bytebuffer        | The bytebuffer module port from [bytebuffer.js](https://www.npmjs.com/package/bytebuffer) | [![npm version](https://img.shields.io/npm/v/@xmcl/bytebuffer.svg)](https://www.npmjs.com/package/@xmcl/bytebuffer)               | [packages/bytebuffer       ](/packages/bytebuffer)        | Node/Browser        |\n\n### Comsuming the Packages with bundlers\n\nThe whole project use typescript and esbuild to build. It will build both `esm` and `commonjs` version js files. Some modules can be used in browser, and they will have browser version built.\n\nNowaday, the bundler should all support reading the `module` field in package.json and use the esm version. If you are using webpack, you can use the `resolve.mainFields` option to specify which field to use.\n\nFrom [my experience](https://github.com/Voxelum/x-minecraft-launcher), the [esbuild](https://esbuild.github.io/) and [vite](https://vitejs.dev/) works pretty fine with current `package.json`.\n\n## Contribute\n\nSee [Contribute.md](/CONTRIBUTE.md)\n\n## Special Thanks\n\n[yushijinhun](https://github.com/yushijinhun), the author of [JMCCC](https://github.com/to2mbn/JMCCC) which inspire this library.\n\n[Indexyz](https://github.com/Indexyz), helped me a lot on Minecraft launching, authing.\n\nAnd all of contributors of this repo!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxelum%2Fminecraft-launcher-core-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxelum%2Fminecraft-launcher-core-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxelum%2Fminecraft-launcher-core-node/lists"}