#minecraft #minecraft-server #minecraft-mod #instance #async #game #java-class

cobble-core

Library for managing, installing and launching Minecraft instances and more

15 releases (3 stable)

1.2.0 Dec 4, 2022
1.1.1 Nov 20, 2022
0.6.0 Aug 25, 2022
0.5.1 Aug 9, 2022
0.1.1 Jun 2, 2022

#427 in Games

MIT license

225KB
5K SLoC

cobble-core

crates.io Documentation MSRV Dependency Status License Pipeline

A Rust library for managing, installing and launching Minecraft instances and more.

This crate provides the following features (some are locked behind features):

  • Complete installation of Minecraft from the official resources
  • Launching the game in a vanilla fashion (No additional Java classes)
  • Authentication with Microsoft/Minecraft servers for online play
  • Usage of instances to ease installation, launching and managing multiple installs
  • Supports installing and launching with the fabric loader.
  • Managing of various objects used and created by Minecraft (Logs, Resourcepacks, Save Games, Screenshots, Servers, Mods, Shaderpacks)

Usage

Add this to your Cargo.toml:

[dependencies]
cobble-core = "1.2"

To get started, see various examples of this crate here.

This crate is based on the tokio async crate. Some functionality requires a tokio runtime.

Stability

This crate can't be tested using every Minecraft version there is (I sadly do not have time for that). This means I try to test this crate with some different versions. Most tests are for the newer releases of Minecraft.

The following versions have been tested:

  • 1.19.2

If you have success using different Minecraft versions, you can open a Pull Request to add it.

Crate Features

  • auth: Provides authentication support for online mode.
  • backup: Provides functionality creating and loading backups. Currently implemented for save-games.
  • serde: Provides Deserialize and Serialize implementation for many structs.
  • vanilla (default): Includes features log-files, resourcepacks, save-games, screenshots and servers.
  • log-files (default): Provides functionality for reading and extracting log files.
  • resourcepacks (default): Provides functionality for interacting with resourcepacks.
  • save-games (default): Provides functionality for interacting with save games.
  • screenshots (default): Provides functionality for interacting with screenshots.
  • servers (default): Provides functionality for interacting with servers.
  • modded: Includes features fabric, loader-mods and shaderpacks.
  • fabric: Provides functionality for installing and launching with the fabric loader.
  • loader-mods: Provides functionality for interacting with mods.
  • shaderpacks: Provides functionality for interacting with shaderpacks.

License

cobble-core is distributed under the terms of the MIT license.

See LICENSE for details.

Dependencies

~17–32MB
~534K SLoC