|  |  | @ -26,6 +26,7 @@ import engine.objects.Zone; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.pmw.tinylog.Logger; |  |  |  | import org.pmw.tinylog.Logger; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | import java.util.concurrent.ConcurrentLinkedQueue; |  |  |  | import java.util.concurrent.ConcurrentLinkedQueue; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import java.util.concurrent.atomic.LongAdder; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** |  |  |  | /** | 
			
		
	
		
		
			
				
					
					|  |  |  |  * Thread blocks until MagicBane dispatch messages are |  |  |  |  * Thread blocks until MagicBane dispatch messages are | 
			
		
	
	
		
		
			
				
					|  |  | @ -41,17 +42,17 @@ public class MobRespawnThread implements Runnable { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Instance variables
 |  |  |  |     // Instance variables
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Thread constructor
 |  |  |  |     // Thread constructor
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public MobRespawnThread() { |  |  |  |     public MobRespawnThread() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |         Boolean isAlive = false; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         Logger.info(" MobRespawnThread thread has started!"); |  |  |  |         Logger.info(" MobRespawnThread thread has started!"); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Override |  |  |  |     @Override | 
			
		
	
		
		
			
				
					
					|  |  |  |     public void run() { |  |  |  |     public void run() { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         while(true) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             for (Zone zone : ZoneManager.getAllZones()) { |  |  |  |             for (Zone zone : ZoneManager.getAllZones()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (zone.respawnQue.isEmpty() == false && zone.lastRespawn + 100 < System.currentTimeMillis()) { |  |  |  |                 if (zone.respawnQue.isEmpty() == false && zone.lastRespawn + 100 < System.currentTimeMillis()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if (zone.respawnQue.iterator().next() != null) { |  |  |  |                     if (zone.respawnQue.iterator().next() != null) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -63,6 +64,7 @@ public class MobRespawnThread implements Runnable { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |     public static void startRespawnThread() { |  |  |  |     public static void startRespawnThread() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         Thread respawnThread; |  |  |  |         Thread respawnThread; | 
			
		
	
	
		
		
			
				
					|  |  | 
 |