@ -5817,6 +5817,21 @@ public class PlayerCharacter extends AbstractCharacter {
				@@ -5817,6 +5817,21 @@ public class PlayerCharacter extends AbstractCharacter {
					 
			
		
	
		
			
				
					    public  void  doRegen ( ) {   
			
		
	
		
			
				
					        if ( ! this . timestamps . containsKey ( "SyncClient" ) )   
			
		
	
		
			
				
					            this . timestamps . put ( "SyncClient" , System . currentTimeMillis ( ) ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {   
			
		
	
		
			
				
					            ReentrantReadWriteLock  reentrantLock  =  ( ReentrantReadWriteLock )  this . updateLock ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            if ( reentrantLock . writeLock ( ) . isHeldByCurrentThread ( ) ) {   
			
		
	
		
			
				
					                this . updateLock . writeLock ( ) . unlock ( ) ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					            // Check if the lock is currently held by another thread (either for reading or writing)
   
			
		
	
		
			
				
					            if  ( reentrantLock . isWriteLocked ( )  | |  reentrantLock . getReadLockCount ( )  >  0 )  {   
			
		
	
		
			
				
					                return ;  // Or throw an exception if needed
   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					        } catch ( Exception  e ) {   
			
		
	
		
			
				
					            Logger . error ( e ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        if  ( this . updateLock . writeLock ( ) . tryLock ( ) )  {   
			
		
	
		
			
				
					            try  {   
			
		
	
		
			
				
					                if ( ! this . isAlive ( )  | |  ! this . enteredWorld  | |  ! this . isActive )  {