Crate cobble_core

source ·
Expand description

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.

Re-exports

pub use instance::Instance;
pub use instance::InstanceBuilder;

Modules

Error types
Instance related functionality
Minecraft related functionality
Utitlities for authentication and online play
Utilities used in this crate