Cargo Features

[dependencies]
perovskite_game_api = { version = "0.0.4", default-features = false, features = ["unstable_api", "default_game", "circuits", "carts", "agriculture", "deadlock_detection", "tracy", "dhat-heap", "tokio-console", "discord"] }
default = agriculture, carts, circuits, default_game, discord

These default features are set whenever perovskite_game_api is added without default-features = false somewhere in the dependency tree.

unstable_api

When enabled, re-exports selected from perovskite_server. These are subject to change in the current version.

Affects blocks::ExtendedDataInitializer, default_game::furnace

default_game default agriculture

Provides a simple default game, centered around exploration, small-scale resource collection, mining, building, etc. This game may expand over time.

It also provides the following abstractions/functionality (WIP):
* Recipe book for crafting/smelting
* A basic furnate that follows the recipe book
* A simple inventory UI with creative support and a crafting tool
* Map generator implementation
* Helpers for defining tools
* Useful commands for game administration

Affects perovskite_game_api::default_game

circuits default carts

Provides a plugin for making digital circuits that have simple in-game behaviors. Still a WIP

Affects perovskite_game_api::circuits

carts default = circuits

Carts that operate on rails. These rely on circuits for signalling and control.

Affects perovskite_game_api::carts

agriculture default = default_game

Provides basic agriculture functionality that other plugins can use. Relies on default_game for dirt and other interactions

Affects perovskite_game_api::farming

deadlock_detection

If enabled, server will detect deadlocks and log them.

Enables deadlock_detection of perovskite_server

tracy

Performance tracing

Enables tracy of perovskite_server, enable of tracing-tracy

Affects perovskite_game_api::tracy_layer

dhat-heap

Heap profiling

tokio-console

tokio-console; Requires RUSTFLAGS="--cfg tokio_unstable"

Enables console-subscriber ^0.3.0

Affects perovskite_game_api::tokio_console_layer

discord default

Connects game chat and other events to a discord channel. WIP.
Requires rust 1.74.0 or higher

Enables serenity

Affects perovskite_game_api::discord