#minecraft #statistics #nbt #command-line-tool

worldstat

Simple library for interfacing with Minecraft world information

1 unstable release

0.0.1 Jan 2, 2025

#41 in #nbt

Download history 154/week @ 2025-01-01

154 downloads per month

GPL-3.0 license

24KB
556 lines

WorldStat

All-in-one Rust library for interfacing with Minecraft world information

Looking for the CLI tool? Check the GitHub!

worldstat provides a simple interface for getting information about a Minecraft world. It supports both singleplayer and multiplayer worlds, so you can view and modify data for other players.

Documentation is available at docs.rs.

Examples

Get a players UUID and skin URLs from their username:

use worldstat::player::Player;

let player = Player::new()
  .with_name("SpikeHD");
let uuid = player.uuid()?;
let skin_urls = player.skin_urls()?;

println!("Player UUID: {}", uuid);
println!("Player skin URLs: {:?}", skin_urls);

See how many oak planks a user has broken:

use worldstat::{context::Context, player::Player};

let ctx = Context::new()
  .with_is_singleplayer(false)
  .with_path("./myworld");
let stats = Player::new()
  .with_name("SpikeHD")
  .with_ctx(ctx)
  .statistics()?;

let crafted = stats.crafted("minecraft:oak_planks")?;
let count = crafted.as_i64()?;

println!("SpikeHD has crafted {} oak planks", count);

Dependencies

~4–6MB
~109K SLoC