diff --git a/slimeball-lib/src/lib.rs b/slimeball-lib/src/lib.rs --- a/slimeball-lib/src/lib.rs +++ b/slimeball-lib/src/lib.rs @@ -24,10 +24,16 @@ pub poi_chunks: Option, pub block_ticks: Option, pub fluid_ticks: Option, - pub tile_entities: fastnbt::Value, + pub tile_entities: Vec, pub entities: fastnbt::Value, // but leave this as Value pub extra: Option, +} + +#[derive(Clone, Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct TileEntities { + tile_entities: Vec, } #[derive(Clone, Debug)] @@ -219,7 +225,7 @@ buf.read_exact(&mut extra_buf)?; } - let tile_entities: fastnbt::Value = read_sized(buf)?; + let tile_entities = read_sized::(buf)?.tile_entities; let entities: fastnbt::Value = read_sized(buf)?; let extra_size = buf.read_i32::()?;