Cargo Features

[dependencies]
cobble-core = { version = "1.2.0", default-features = false, features = ["auth", "backup", "serde", "vanilla", "resourcepacks", "save-games", "screenshots", "servers", "modded", "fabric", "shaderpacks", "internal-archive", "internal-nbt", "internal-base64"] }
default = vanilla

The vanilla feature is set by default whenever cobble-core is added without default-features = false somewhere in the dependency tree.

auth = oauth2

Affects consts::MS_AUTH_URL, consts::MS_TOKEN_URL, consts::MS_DEVICE_AUTH_URL, consts::XBL_TOKEN_URL, consts::XSTS_TOKEN_URL, consts::MC_TOKEN_URL, consts::MC_ENTITLEMENTS_URL, consts::MC_PROFILE_URL, cobble-core::profile

backup = internal-archive
serde
vanilla default = log-files, resourcepacks, save-games, screenshots, servers

Vanilla

log-files resourcepacks vanilla = mime_guess
save-games vanilla = anyhow
screenshots vanilla = mime_guess
servers vanilla = anyhow, internal-base64, internal-nbt
modded = fabric, loader-mods, shaderpacks

Modded

fabric modded?

Affects consts::FABRIC_BASE_V2_URL, instance::Instance.fabric_version

loader-mods shaderpacks modded? = mime_guess
internal-archive backup? = flate2, tar

Internal

internal-nbt servers? = fastnbt, flate2
internal-base64 servers? = base64

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

anyhow save-games? servers?

Enables anyhow

Optional dependencies

base64 internal-base64?

Enables base64 ^0.13

fastnbt internal-nbt?
flate2 internal-archive? internal-nbt?
mime_guess loader-mods? log-files? resourcepacks? screenshots? shaderpacks?
oauth2 auth?
tar internal-archive?