#![allow(warnings)] use nbtea::Tag; use serde_derive::{Deserialize, Serialize}; use std::collections::HashMap; #[derive(Debug, Serialize, Deserialize)] struct Root { num: i32, // name: Option, // stuff: Vec, // inner: HashMap, // hm: Option, // another: bool, } #[derive(Debug, Serialize, Deserialize)] struct Inner { value: Option, pog: i8, } fn main() { let root = Root { // name: Some("Bananrama".into()), num: 5, // inner: HashMap::from_iter([ // ("hm".into(), vec![1, 2, 3].into()), // ("heh".into(), vec![1, 2, 3].into()), // ]), // stuff: vec![ // Inner { // value: Some(3.4), // pog: 3, // }, // Inner { // value: None, // pog: 3, // }, // ], // hm: Some(Tag::IntArray(vec![2, 1, 5, 8].into())), // another: true, }; let bytes = nbtea::to_vec(&root).unwrap(); let root = nbtea::from_slice::>(&bytes).unwrap(); dbg!(&root); let _enc_as_map = nbtea::to_vec(&root).unwrap(); }