All Projects → Voxelum → minecraft-launcher-core-node

Voxelum / minecraft-launcher-core-node

Licence: MIT license
Provide packages to install Minecraft, launch Minecraft and more to build launcher with NodeJs/Electron!

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to minecraft-launcher-core-node

Wehousing
Golang微服务+区块链实战---go+micro+fabric实现租房上链系统
Stars: ✭ 182 (+44.44%)
Mutual labels:  fabric
Docker Starter
🏗️ A skeleton to start a new web project with PHP, Docker and Invoke
Stars: ✭ 233 (+84.92%)
Mutual labels:  fabric
postman
minecraft anarchy client :)
Stars: ✭ 163 (+29.37%)
Mutual labels:  fabric
Ui Fabric Android
This repo has been moved. See website for new url.
Stars: ✭ 185 (+46.83%)
Mutual labels:  fabric
Hydrogen Fabric
Things of which are too dangerous to put in Lithium.
Stars: ✭ 206 (+63.49%)
Mutual labels:  fabric
Bettercolors
⚔️ Minecraft assistance mod built with Forge AND Fabric. For MC 1.8.9, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.x, 1.17.X, 1.18.X, 1.19.X
Stars: ✭ 37 (-70.63%)
Mutual labels:  fabric
Fabricio
Fetch Fabric.io statistics like never before
Stars: ✭ 162 (+28.57%)
Mutual labels:  fabric
MythicMetals
Fabric based Minecraft mod that adds new materials into the game. Includes new tools, ores, anvils, and sets of armor.
Stars: ✭ 35 (-72.22%)
Mutual labels:  fabric
Cardboard
The Bukkit/Spigot/Paper API implementation for Fabric
Stars: ✭ 220 (+74.6%)
Mutual labels:  fabric
GolfIV
An anti-exploit attempt for Fabric
Stars: ✭ 41 (-67.46%)
Mutual labels:  fabric
Fabricplugin
Fabric.io plugin for Cordova or Phonegap
Stars: ✭ 201 (+59.52%)
Mutual labels:  fabric
Techreborn
Tech Reborn is a completely standalone tech mod including tools and machines to gather resources, process materials, and progress through the mod. https://www.curseforge.com/minecraft/mc-mods/techreborn
Stars: ✭ 205 (+62.7%)
Mutual labels:  fabric
Fluent-Design-For-Web
Windows 10 Inspired UI For Web
Stars: ✭ 28 (-77.78%)
Mutual labels:  fabric
Data Visualization
数据可视化
Stars: ✭ 184 (+46.03%)
Mutual labels:  fabric
picomc
A tiny CLI Minecraft launcher
Stars: ✭ 51 (-59.52%)
Mutual labels:  minecraft-launcher
Kitten
Tiny multi-server automation tool
Stars: ✭ 171 (+35.71%)
Mutual labels:  fabric
Epherome
Powerful Minecraft Launcher
Stars: ✭ 116 (-7.94%)
Mutual labels:  minecraft-launcher
kibe
A miscellaneous mod for Minecraft that adds a bunch of random, and mostly unoriginal things.
Stars: ✭ 42 (-66.67%)
Mutual labels:  fabric
2019-15
Catch My Mind - 웹으로 즐길 수 있는 캐치마인드
Stars: ✭ 19 (-84.92%)
Mutual labels:  fabric
Uzurion-Launcher
Custom launcher for modded minecraft written in electron.js and Node.js (premium and crack)
Stars: ✭ 120 (-4.76%)
Mutual labels:  minecraft-launcher

Minecraft Launcher Core

npm Build Status Convensional Commits Discord

Provide several useful functions to build a Minecraft Launcher.

Most packages are targeting the Electron environment. Feel free to report issues related to it.

Looking for C# Launcher Core?

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://craftmine.fun

Featured Launcher

  • 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.

Installation & Usage

This repo maintaining multiple mini packages for specific functions.

If you use electron to write a minimum launcher, you can install @xmcl/core which only has such functions:

  • Parse existed Minecraft version
  • Launch the game

If you have bigger ambition on your launcher, you want it be able to download/install Minecraft, then you can have @xmcl/installer, which contains the functions of:

  • Get the version information of Minecraft/Forge/Liteloader/Fabric
  • Install Minecraft/Forge/Liteloader/Fabric to the game folder

If you still not satisfied, as you want even provide the function to parse existed resource pack and mods under game folder, then you will have @xmcl/mod-parser and @xmcl/resourcepack modules, which contain such functions:

  • Parse Forge/Liteloader/Fabric mods metadata
  • Parse resource pack metadata

There are more packages for advantage usages, and you can check out the getting started section to navigate.

Bundle & Treeshaking

The module built with ES5 module option by typescript. To use treeshake, please make sure your bundle system support esm import/export.

Some bundler like webpack, rollup support treeshake by default. Just make sure you dont do something like import * as SomeNamespace from ..., which will bundle the whole package. (But import { xxx } from 'xxx' will still work)

CommonJS

If you don't have a bundler to transform the package, you can still use it in cjs. The webpack will pick the "main" field in package.json which is pointing to the cjs version.

It means you don't need to do anything in extra ideally.

Electron Version

Recommend to use the latest electron, so you don't need to setup babel with webpack 4.

Getting Started

Please respect the typescript interface and jsdoc in type definition if the markdown document is outdated. Contact the developer if you find the document outdated or mismatched!

Go Getting Started page.

Or you can read the full document.

Active Packages

Name Usage Version Location Runtime Envrionment
@xmcl/core Launch Minecraft npm version packages/core Node
@xmcl/installer Install Minecraft npm version packages/installer Node
@xmcl/user User Authentication and skin npm version packages/user Node/Browser
@xmcl/mod-parser Parse forge/liteloader/fabric mod npm version packages/mod-parser Node/Browser
@xmcl/modrinth Provide Modrinth API npm version packages/modrinth Node/Browser
@xmcl/forge-site-parser Parse forge website npm version packages/forge-site-parser Node/Browser
@xmcl/client Ping Minecraft Server npm version packages/client Node
@xmcl/model Display player/block model npm version packages/model Browser
@xmcl/gamesetting Parse game setting npm version packages/gamesetting Node/Browser
@xmcl/nbt Parse NBT npm version packages/nbt Node/Browser
@xmcl/text-component Parse and render Minecraft Text npm version packages/text-component Node/Browser
@xmcl/world Load save metadata npm version packages/world Node/Browser
@xmcl/resourcepack Parse resource pack npm version packages/resourcepack Node/Browser
@xmcl/server-info Parse servers.dat npm version packages/server-info Node/Browser
@xmcl/task Util package to create task npm version packages/task Node
@xmcl/system A fs middleware for browser/node npm version packages/system Node/Browser
@xmcl/unzip yauzl unzip wrapper npm version packages/unzip Node

Contribute

See Contribute.md

Credit

lukechu10 helped me to generate the document from typescript.

HoldYourWaffle provided great suggestions to repo.

Yu Xuanchi provided some idea about NBT module.

Haowei Wen, the author of JMCCC, Authlib Injector, and Indexyz, helped me a lot on Minecraft launching, authing.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].