mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/data/map.rs')
-rw-r--r--src/data/map.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/data/map.rs b/src/data/map.rs
index edb3cb2..c4ad43d 100644
--- a/src/data/map.rs
+++ b/src/data/map.rs
@@ -84,7 +84,7 @@ use crate::team::{self, Team};
#[cfg(doc)]
use crate::{block::content, data::*, fluid, item, modifier, unit};
-use super::Serializable;
+use super::{entity_mapping, Serializable};
use crate::content::Content;
use crate::utils::image::ImageUtils;
@@ -655,7 +655,14 @@ impl<'l> Serializable for Map<'l> {
// read world entities (#412). eg units
for _ in 0..buff.read_u32()? {
let len = buff.read_u16()? as usize;
- buff.skip(len)?;
+ let id = buff.read_u8()? as usize;
+ let Some(&Some(u)) = entity_mapping::ID.get(id) else {
+ buff.skip(len - 1)?;
+ continue;
+ // return Ok(());
+ };
+ buff.skip(4)?;
+ let _ = u.read(buff)?;
}
Ok::<(), ReadError>(())
})?;