@@ -538,37 +538,45 @@ pub fn chunk_to_bytes(chunk_data: &ChunkData) -> Result<Vec<u8>, ChunkSerializin
538
538
status : ChunkStatus :: Full ,
539
539
heightmaps : chunk_data. heightmap . clone ( ) ,
540
540
sections,
541
- block_ticks : chunk_data
542
- . block_ticks
543
- . try_read ( )
544
- . unwrap ( )
545
- . iter ( )
546
- . map ( |tick| SerializedScheduledTick {
547
- x : tick. x ,
548
- y : tick. y ,
549
- z : tick. z ,
550
- delay : tick. delay as i32 ,
551
- priority : tick. priority as i32 ,
552
- target_block : format ! (
553
- "minecraft:{}" ,
554
- Block :: from_id( tick. target_block_id) . unwrap( ) . name
555
- ) ,
556
- } )
557
- . collect ( ) ,
558
- fluid_ticks : chunk_data
559
- . fluid_ticks
560
- . try_read ( )
561
- . unwrap ( )
562
- . iter ( )
563
- . map ( |tick| SerializedScheduledTick {
564
- x : tick. x ,
565
- y : tick. y ,
566
- z : tick. z ,
567
- delay : tick. delay as i32 ,
568
- priority : tick. priority as i32 ,
569
- target_block : tick. target_block . name . to_string ( ) ,
570
- } )
571
- . collect ( ) ,
541
+ block_ticks : {
542
+ if let Ok ( block_ticks) = chunk_data. block_ticks . try_read ( ) {
543
+ block_ticks
544
+ . iter ( )
545
+ . map ( |tick| SerializedScheduledTick {
546
+ x : tick. x ,
547
+ y : tick. y ,
548
+ z : tick. z ,
549
+ delay : tick. delay as i32 ,
550
+ priority : tick. priority as i32 ,
551
+ target_block : format ! (
552
+ "minecraft:{}" ,
553
+ Block :: from_id( tick. target_block_id) . unwrap( ) . name
554
+ ) ,
555
+ } )
556
+ . collect ( )
557
+ } else {
558
+ log:: error!( "Failed to read block ticks" ) ;
559
+ vec ! [ ]
560
+ }
561
+ } ,
562
+ fluid_ticks : {
563
+ if let Ok ( fluid_ticks) = chunk_data. fluid_ticks . try_read ( ) {
564
+ fluid_ticks
565
+ . iter ( )
566
+ . map ( |tick| SerializedScheduledTick {
567
+ x : tick. x ,
568
+ y : tick. y ,
569
+ z : tick. z ,
570
+ delay : tick. delay as i32 ,
571
+ priority : tick. priority as i32 ,
572
+ target_block : tick. target_block . name . to_string ( ) ,
573
+ } )
574
+ . collect ( )
575
+ } else {
576
+ log:: error!( "Failed to read fluid ticks" ) ;
577
+ vec ! [ ]
578
+ }
579
+ } ,
572
580
} ;
573
581
574
582
let mut result = Vec :: new ( ) ;
0 commit comments