@@ -62,6 +62,8 @@ def handle_new_dimension(self, name, packet):
6262 def handle_chunk_data (self , name , packet ):
6363 """Chunk Data - Update World state"""
6464 self .world .unpack_column (packet .data )
65+ location = packet .data ['chunk_x' ], packet .data ['chunk_z' ]
66+ self .event .emit ('world_chunk_update' , {'location' : location })
6567
6668 def handle_multi_block_change (self , name , packet ):
6769 """Multi Block Change - Update multiple blocks"""
@@ -71,26 +73,35 @@ def handle_multi_block_change(self, name, packet):
7173 x = block ['x' ] + chunk_x
7274 z = block ['z' ] + chunk_z
7375 y = block ['y' ]
74- self .world .set_block (x , y , z , data = block ['block_data' ])
76+ old_data = self .world .set_block (x , y , z , data = block ['block_data' ])
7577 self .event .emit ('world_block_update' , {
7678 'location' : {
7779 'x' : x ,
7880 'y' : y ,
7981 'z' : z ,
8082 },
8183 'block_data' : block ['block_data' ],
84+ 'old_data' : old_data ,
8285 })
8386
8487 def handle_block_change (self , name , packet ):
8588 """Block Change - Update a single block"""
86- p = packet .data ['location' ]
89+ pos = packet .data ['location' ]
8790 block_data = packet .data ['block_data' ]
88- self .world .set_block (p ['x' ], p ['y' ], p ['z' ], data = block_data )
89- self .event .emit ('world_block_update' , packet .data )
91+ old_data = self .world .set_block (pos ['x' ], pos ['y' ], pos ['z' ],
92+ data = block_data )
93+ self .event .emit ('world_block_update' , {
94+ 'location' : pos ,
95+ 'block_data' : block_data ,
96+ 'old_data' : old_data ,
97+ })
9098
9199 def handle_map_chunk_bulk (self , name , packet ):
92100 """Map Chunk Bulk - Update World state"""
93101 self .world .unpack_bulk (packet .data )
102+ for meta in packet .data ['metadata' ]:
103+ location = meta ['chunk_x' ], meta ['chunk_z' ]
104+ self .event .emit ('world_chunk_update' , {'location' : location })
94105
95106 def handle_update_sign (self , event , packet ):
96107 location = Vector3 (packet .data ['location' ])
0 commit comments