[package]
name = "cobble-core"
version = "1.2.0"
authors = ["Stefan Rupertsberger <s.rupertsberger@proton.me>"]
edition = "2021"
rust-version = "1.65"
description = "Library for managing, installing and launching Minecraft instances and more."
documentation = "https://docs.rs/cobble-core"
readme = "README.md"
homepage = "https://gitlab.com/stefan99353/cobble-core"
repository = "https://gitlab.com/stefan99353/cobble-core"
license = "MIT"
keywords = ["minecraft", "instances", "games", "async"]
categories = ["games"]
exclude = [".gitlab-ci.yml"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "doc_cfg"]
[features]
default = ["vanilla"]
auth = ["oauth2"]
backup = ["internal-archive"]
serde = []
vanilla = ["log-files", "resourcepacks", "save-games", "screenshots", "servers"]
log-files = ["mime_guess"]
resourcepacks = ["mime_guess"]
save-games = ["anyhow"]
screenshots = ["mime_guess"]
servers = ["anyhow", "internal-base64", "internal-nbt"]
modded = ["fabric", "loader-mods", "shaderpacks"]
fabric = []
loader-mods = ["mime_guess"]
shaderpacks = ["mime_guess"]
internal-archive = ["flate2", "tar"]
internal-base64 = ["base64"]
internal-nbt = ["flate2", "fastnbt"]
[dependencies]
async-trait = "0.1"
async_zip = "0.0.9"
derive_builder = "0.11"
futures = "0.3"
hex = "0.4"
parking_lot = "0.12"
reqwest = { version = "0.11", features = [
"gzip",
"json",
"rustls-tls",
"stream",
], default-features = false }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha1 = "0.10"
thiserror = "1.0"
time = { version = "0.3", features = ["serde", "serde-well-known"] }
tokio = { version = "1.21", features = ["fs", "process", "rt", "sync"] }
tokio-stream = { version = "0.1", features = ["fs"] }
tracing = "0.1"
uuid = { version = "1.2", features = ["serde", "v4"] }
anyhow = { version = "1.0", optional = true }
base64 = { version = "0.13", optional = true }
fastnbt = { version = "2.3", optional = true }
flate2 = { version = "1.0", optional = true }
mime_guess = { version = "2.0", optional = true }
oauth2 = { version = "4.2", optional = true }
tar = { version = "0.4", optional = true }
[target.'cfg(unix)'.dependencies]
fork = "0.1"
ipc-channel = "0.16"
nix = { version = "0.25", features = ["process", "signal"] }
[dev-dependencies]
anyhow = "1.0"
cobble-core = { path = ".", features = ["serde"] }
tokio = { version = "1.21", features = ["full"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }