Provide several useful functions to build a Minecraft Launcher.
Most packages are targeting the Electron environment. Feel free to report issues related to it.
Introduce the awesome .net framework launcher core, ProjBobcat.
It's the next generation Minecraft launcher core written in C# providing the freest, fastest and the most complete experience. https://corona.studio
- 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.
- PureLauncher: An awesome Minecraft Launcher using React to build beautiful UI.
You can see Active Packages section to quickly find a package you need.
Go our document website to find more detail usage.
Name | Usage | Version | Location | Runtime Envrionment |
---|---|---|---|---|
@xmcl/core | Launch Minecraft | packages/core | Node | |
@xmcl/installer | Install Minecraft | packages/installer | Node | |
@xmcl/user | User Authentication and skin | packages/user | Node/Browser | |
@xmcl/mod-parser | Parse forge/liteloader/fabric mod | packages/mod-parser | Node/Browser | |
@xmcl/curseforge | Provide Curseforge API | packages/curseforge | Node/Browser | |
@xmcl/modrinth | Provide Modrinth API | packages/modrinth | Node/Browser | |
@xmcl/forge-site-parser | Parse forge website | packages/forge-site-parser | Node/Browser | |
@xmcl/client | Utilities of Minecraft client network. Ping Minecraft Server | packages/client | Node | |
@xmcl/model | Display player/block model | packages/model | Browser | |
@xmcl/gamesetting | Parse game setting | packages/gamesetting | Node/Browser | |
@xmcl/nbt | Parse NBT | packages/nbt | Node/Browser | |
@xmcl/text-component | Parse and render Minecraft text | packages/text-component | Node/Browser | |
@xmcl/game-data | Load level data or servers.dat | packages/game-data | Node/Browser | |
@xmcl/resourcepack | Parse resource pack | packages/resourcepack | Node/Browser | |
@xmcl/task | Util package to create task | packages/task | Node/Browser | |
@xmcl/system | A fs middleware for browser/node | packages/system | Node/Browser | |
@xmcl/unzip | yauzl unzip wrapper | packages/unzip | Node | |
@xmcl/file-transfer | High performance undici file download implementation | packages/file-transfer | Node | |
@xmcl/nat-api | Port mapping with UPnP and NAT-PMP | packages/nat-api | Node | |
@xmcl/bytebuffer | The bytebuffer module port from bytebuffer.js | packages/bytebuffer | Node/Browser |
The 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.
Nowaday, 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.
From my experience, the esbuild and vite works pretty fine with current package.json
.
See Contribute.md
yushijinhun, the author of JMCCC which inspire this library.
Indexyz, helped me a lot on Minecraft launching, authing.
And all of contributors of this repo!