1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
//! # cobble-core
//!
//! [](https://crates.io/crates/cobble-core)
//! [](https://docs.rs/cobble-core)
//! [](https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html)
//! [](https://deps.rs/repo/gitlab/stefan99353/cobble-core)
//! [](https://opensource.org/licenses/MIT)
//!
//! A Rust library for managing, installing and launching Minecraft instances.
//!
//! ## Usage
//!
//! See the crate examples for usage examples.
//!
//! Included examples:
//!
//! - Authenntication
//! - Instance
//! - Installing
//! - Installing with Fabric
//! - Launching
//! - Launching with Fabric
//! - Getting
//! - Loader Mods
//! - Log Files
//! - Resourcepacks
//! - Save Games
//! - Screenshots
//! - Servers
//! - Shaderpacks
//! - Minecraft
//! - Installing
//! - Launching
//!
//! ## Cargo Features
//!
//! - `auth`: Provides authentication support for online mode.
//! - `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.
#![warn(missing_docs)]
#![warn(
missing_debug_implementations,
clippy::print_stderr,
clippy::print_stdout
)]
#![cfg_attr(doc_cfg, feature(doc_cfg))]
#[macro_use]
extern crate tracing;
pub(crate) mod consts;
/// Error types
pub mod error;
/// Instance related functionality
pub mod instance;
/// Minecraft related functionality
pub mod minecraft;
/// Utitlities for authentication and online play
#[cfg_attr(doc_cfg, doc(cfg(feature = "auth")))]
#[cfg(feature = "auth")]
pub mod profile;
/// Utilities used in this crate
pub mod utils;
pub use instance::{Instance, InstanceBuilder};