| 
					
				 | 
			
			
				@@ -58,6 +58,9 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerWorldChangeEvent(PlayerChangedWorldEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Player player = event.getPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(player.hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PlayerProfile profile = Users.getProfile(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (profile == null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -87,6 +90,8 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerFish(PlayerFishEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Player player = event.getPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(player.hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Permissions.getInstance().fishing(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             State state = event.getState(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,6 +124,9 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerPickupItem(PlayerPickupItemEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	 if(event.getPlayer().hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PlayerProfile profile = Users.getProfile(event.getPlayer()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (profile == null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -137,6 +145,7 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerLogin(PlayerLoginEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	if(event.getPlayer().hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Users.addUser(event.getPlayer()).getProfile().actualizeRespawnATS(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,6 +157,8 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerQuit(PlayerQuitEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Player player = event.getPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(player.hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* GARBAGE COLLECTION */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -163,6 +174,8 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerJoin(PlayerJoinEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Player player = event.getPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(player.hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //TODO: Locale ALL the things. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Config.getInstance().getMOTDEnabled() && Permissions.getInstance().motd(player)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -205,6 +218,7 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerRespawn(PlayerRespawnEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	if(event.getPlayer().hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PlayerProfile profile = Users.getProfile(event.getPlayer()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (profile != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -220,6 +234,7 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.LOW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerInteract(PlayerInteractEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Player player = event.getPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(player.hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Action action = event.getAction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Block block = event.getClickedBlock(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ItemStack inHand = player.getItemInHand(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -331,6 +346,9 @@ public class PlayerListener implements Listener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onPlayerChat(AsyncPlayerChatEvent event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Player player = event.getPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(player.hasMetadata("NPC")) return; // Check if this player is a Citizens NPC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PlayerProfile profile = Users.getProfile(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (profile == null) { 
			 |