| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -47,31 +47,31 @@ fn set_transform_on_chunkpos_changed( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					fn add_chunks_to_chunkmap( | 
					 | 
					 | 
					 | 
					fn add_chunks_to_chunkmap( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    trigger: Trigger<OnAdd, (Parent, ChunkPos)>, | 
					 | 
					 | 
					 | 
					    trigger: Trigger<OnAdd, (ChildOf, ChunkPos)>, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    chunk_query: Query<(&Parent, &ChunkPos)>, | 
					 | 
					 | 
					 | 
					    chunk_query: Query<(&ChildOf, &ChunkPos)>, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    mut map_query: Query<&mut ChunkMap>, | 
					 | 
					 | 
					 | 
					    mut map_query: Query<&mut ChunkMap>, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					) { | 
					 | 
					 | 
					 | 
					) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    let chunk = trigger.entity(); | 
					 | 
					 | 
					 | 
					    let chunk = trigger.target(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    let Ok((parent, pos)) = chunk_query.get(chunk) else { | 
					 | 
					 | 
					 | 
					    let Ok((child_of, pos)) = chunk_query.get(chunk) else { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // Trigger with a bundle doesn't work as expected. It triggers
 | 
					 | 
					 | 
					 | 
					        // Trigger with a bundle doesn't work as expected. It triggers
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // when ANY component is added, rather than when ALL are present.
 | 
					 | 
					 | 
					 | 
					        // when ANY component is added, rather than when ALL are present.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return; | 
					 | 
					 | 
					 | 
					        return; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }; | 
					 | 
					 | 
					 | 
					    }; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    let mut map = map_query.get_mut(parent.get()).unwrap(); | 
					 | 
					 | 
					 | 
					    let mut map = map_query.get_mut(child_of.parent()).unwrap(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    map.try_insert(*pos, chunk).expect("chunk already present"); | 
					 | 
					 | 
					 | 
					    map.try_insert(*pos, chunk).expect("chunk already present"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					fn remove_chunks_from_chunkmap( | 
					 | 
					 | 
					 | 
					fn remove_chunks_from_chunkmap( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    trigger: Trigger<OnRemove, (Parent, ChunkPos)>, | 
					 | 
					 | 
					 | 
					    trigger: Trigger<OnRemove, (ChildOf, ChunkPos)>, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    chunk_query: Query<(&Parent, &ChunkPos)>, | 
					 | 
					 | 
					 | 
					    chunk_query: Query<(&ChildOf, &ChunkPos)>, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    mut map_query: Query<&mut ChunkMap>, | 
					 | 
					 | 
					 | 
					    mut map_query: Query<&mut ChunkMap>, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					) { | 
					 | 
					 | 
					 | 
					) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    let chunk = trigger.entity(); | 
					 | 
					 | 
					 | 
					    let chunk = trigger.target(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    let Ok((parent, pos)) = chunk_query.get(chunk) else { | 
					 | 
					 | 
					 | 
					    let Ok((child_of, pos)) = chunk_query.get(chunk) else { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // See above.
 | 
					 | 
					 | 
					 | 
					        // See above.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return; | 
					 | 
					 | 
					 | 
					        return; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }; | 
					 | 
					 | 
					 | 
					    }; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    let mut map = map_query.get_mut(parent.get()).unwrap(); | 
					 | 
					 | 
					 | 
					    let mut map = map_query.get_mut(child_of.parent()).unwrap(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    map.remove(pos).expect("chunk not found"); | 
					 | 
					 | 
					 | 
					    map.remove(pos).expect("chunk not found"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    println!("Chunk {chunk} @ {pos:?} removed from {}", parent.get()); | 
					 | 
					 | 
					 | 
					    println!("Chunk {chunk} @ {pos:?} removed from {}", child_of.parent()); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |