minetestworld
This crate lets you read Luanti worlds in a low-level way.
Usage
As this crate returns tokio based futures, you have to specify that along the dependencies:
[]
= "0.6"
= "1"
An example
Here is an example that reads all nodes of a specific chunk ("map block"):
[]
= { = "1", = ["full"] }
= "0.6"
= "0.3"
use Error;
use StreamExt;
use ;
async
Selectable features
The Cargo features sqlite, redis, and postgres enable the respective map data backend. They are enabled by default and can be selected individually:
[]
= { = "0.6", = false, = [ "sqlite" ] }
This crate only compiles if at least one backend is enabled, because it becomes pointless without.
To gain TLS support for the postgres connection, add the tls-rustls or the tls-native-tls feature.
See minetest-worldmapper for a real-world example.