mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/payload.rs')
-rw-r--r--src/block/payload.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/block/payload.rs b/src/block/payload.rs
index 48b8e67..9b1970b 100644
--- a/src/block/payload.rs
+++ b/src/block/payload.rs
@@ -4,7 +4,7 @@ use thiserror::Error;
use crate::block::content::Type as BlockEnum;
use crate::block::simple::*;
use crate::block::{self, *};
-use crate::content::{self, Content};
+use crate::content;
use crate::data::dynamic::DynType;
use crate::data::entity_mapping;
use crate::data::ReadError;
@@ -215,8 +215,10 @@ pub fn read_payload(buff: &mut DataRead) -> Result<(), DataReadError> {
BLOCK => {
let b = buff.read_u16()?;
buff.skip(1)?;
- let b = BlockEnum::try_from(b).unwrap_or(BlockEnum::Router);
- let block = BLOCK_REGISTRY.get(b.get_name()).unwrap();
+ let block = BlockEnum::try_from(b)
+ .unwrap_or(BlockEnum::Router)
+ .to_block()
+ .expect("payload should not be a environment block");
let mut b = Build::new(block);
let _ = b.read(buff);
}