mirror of
https://github.com/neocturne/MinedMap.git
synced 2025-03-05 17:44:52 +01:00
31 lines
612 B
Rust
31 lines
612 B
Rust
|
use std::{fs::File, io::prelude::*, path::PathBuf};
|
||
|
|
||
|
use anyhow::{Context, Result};
|
||
|
use clap::Parser;
|
||
|
use flate2::read::GzDecoder;
|
||
|
|
||
|
#[derive(Debug, Parser)]
|
||
|
struct Args {
|
||
|
/// Filename to dump
|
||
|
file: PathBuf,
|
||
|
}
|
||
|
|
||
|
fn main() -> Result<()> {
|
||
|
let args = Args::parse();
|
||
|
|
||
|
let file = File::open(&args.file).context("Failed to open file")?;
|
||
|
|
||
|
let mut decoder = GzDecoder::new(file);
|
||
|
let mut buf = vec![];
|
||
|
decoder
|
||
|
.read_to_end(&mut buf)
|
||
|
.context("Failed to read file")?;
|
||
|
|
||
|
let nbt: fastnbt::Value =
|
||
|
fastnbt::from_bytes(buf.as_slice()).context("Failed to decode NBT data")?;
|
||
|
|
||
|
println!("{:#x?}", nbt);
|
||
|
|
||
|
Ok(())
|
||
|
}
|