| 
					
				 | 
			
			
				@@ -28,7 +28,6 @@ import com.gmail.nossr50.util.scoreboards.ScoreboardManager.SidebarType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang.Validate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class ScoreboardWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // Initialization variables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public final String playerName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private final Scoreboard scoreboard; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -69,6 +68,7 @@ public class ScoreboardWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public BukkitTask updateTask = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private class ScoreboardQuickUpdate extends BukkitRunnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -78,6 +78,7 @@ public class ScoreboardWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public BukkitTask revertTask = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private class ScoreboardChangeTask extends BukkitRunnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -87,6 +88,7 @@ public class ScoreboardWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public BukkitTask cooldownTask = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private class ScoreboardCooldownTask extends BukkitRunnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,7 +123,8 @@ public class ScoreboardWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 cooldownTask.cancel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            catch (Throwable ignored) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            catch (Throwable ignored) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cooldownTask = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -381,7 +384,8 @@ public class ScoreboardWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             updateTask.cancel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        catch (Throwable ignored) {} // catch NullPointerException and IllegalStateException and any Error; don't care 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        catch (Throwable ignored) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } // catch NullPointerException and IllegalStateException and any Error; don't care 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         updateTask = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -399,124 +403,125 @@ public class ScoreboardWrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         switch (sidebarType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        case NONE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case NONE: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        case SKILL_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Validate.notNull(targetSkill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case SKILL_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Validate.notNull(targetSkill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!targetSkill.isChildSkill()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int currentXP = mcMMOPlayer.getSkillXpLevel(targetSkill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!targetSkill.isChildSkill()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    int currentXP = mcMMOPlayer.getSkillXpLevel(targetSkill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sidebarObjective.getScore(ScoreboardManager.LABEL_CURRENT_XP).setScore(currentXP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(mcMMOPlayer.getXpToLevel(targetSkill) - currentXP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (SkillType parentSkill : FamilyTree.getParents(targetSkill)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(mcMMOPlayer.getSkillLevel(parentSkill)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sidebarObjective.getScore(ScoreboardManager.LABEL_CURRENT_XP).setScore(currentXP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sidebarObjective.getScore(ScoreboardManager.LABEL_REMAINING_XP).setScore(mcMMOPlayer.getXpToLevel(targetSkill) - currentXP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (SkillType parentSkill : FamilyTree.getParents(targetSkill)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sidebarObjective.getScore(ScoreboardManager.skillLabels.get(parentSkill)).setScore(mcMMOPlayer.getSkillLevel(parentSkill)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(mcMMOPlayer.getSkillLevel(targetSkill)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sidebarObjective.getScore(ScoreboardManager.LABEL_LEVEL).setScore(mcMMOPlayer.getSkillLevel(targetSkill)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (targetSkill.getAbility() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                boolean stopUpdating; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (targetSkill.getAbility() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    boolean stopUpdating; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (targetSkill == SkillType.MINING) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // Special-Case: Mining has two abilities, both with cooldowns 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Score cooldownSB = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(AbilityType.SUPER_BREAKER)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Score cooldownBM = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(AbilityType.BLAST_MINING)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    int secondsSB = Math.max(mcMMOPlayer.calculateTimeRemaining(AbilityType.SUPER_BREAKER), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    int secondsBM = Math.max(mcMMOPlayer.calculateTimeRemaining(AbilityType.BLAST_MINING), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (targetSkill == SkillType.MINING) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // Special-Case: Mining has two abilities, both with cooldowns 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Score cooldownSB = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(AbilityType.SUPER_BREAKER)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Score cooldownBM = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(AbilityType.BLAST_MINING)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int secondsSB = Math.max(mcMMOPlayer.calculateTimeRemaining(AbilityType.SUPER_BREAKER), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int secondsBM = Math.max(mcMMOPlayer.calculateTimeRemaining(AbilityType.BLAST_MINING), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    cooldownSB.setScore(secondsSB); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    cooldownBM.setScore(secondsBM); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        cooldownSB.setScore(secondsSB); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        cooldownBM.setScore(secondsBM); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stopUpdating = (secondsSB == 0 && secondsBM == 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        stopUpdating = (secondsSB == 0 && secondsBM == 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        AbilityType ability = targetSkill.getAbility(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Score cooldown = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(ability)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int seconds = Math.max(mcMMOPlayer.calculateTimeRemaining(ability), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        cooldown.setScore(seconds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        stopUpdating = seconds == 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (stopUpdating) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        stopCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        startCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    AbilityType ability = targetSkill.getAbility(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Score cooldown = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(ability)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case COOLDOWNS_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                boolean anyCooldownsActive = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (AbilityType ability : AbilityType.values()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     int seconds = Math.max(mcMMOPlayer.calculateTimeRemaining(ability), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    cooldown.setScore(seconds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (seconds != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        anyCooldownsActive = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stopUpdating = seconds == 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sidebarObjective.getScore(ScoreboardManager.abilityLabelsColored.get(ability)).setScore(seconds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (stopUpdating) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stopCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (anyCooldownsActive) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    startCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    startCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    stopCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        case COOLDOWNS_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            boolean anyCooldownsActive = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (AbilityType ability : AbilityType.values()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int seconds = Math.max(mcMMOPlayer.calculateTimeRemaining(ability), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case STATS_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // Select the profile to read from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                PlayerProfile newProfile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (seconds != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    anyCooldownsActive = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (targetProfile != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    newProfile = targetProfile; // offline 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else if (targetPlayer == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    newProfile = mcMMOPlayer.getProfile(); // self 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    newProfile = UserManager.getPlayer(targetPlayer).getProfile(); // online 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sidebarObjective.getScore(ScoreboardManager.abilityLabelsColored.get(ability)).setScore(seconds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (anyCooldownsActive) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                startCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stopCooldownUpdating(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        case STATS_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // Select the profile to read from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            PlayerProfile newProfile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (targetProfile != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                newProfile = targetProfile; // offline 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if (targetPlayer == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                newProfile = mcMMOPlayer.getProfile(); // self 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                newProfile = UserManager.getPlayer(targetPlayer).getProfile(); // online 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // Calculate power level here 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int powerLevel = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (SkillType skill : SkillType.values()) { // Include child skills, but not in power level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    int level = newProfile.getSkillLevel(skill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // Calculate power level here 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int powerLevel = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (SkillType skill : SkillType.values()) { // Include child skills, but not in power level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int level = newProfile.getSkillLevel(skill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!skill.isChildSkill()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        powerLevel += level; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!skill.isChildSkill()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    powerLevel += level; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // TODO: Verify that this is what we want - calculated in power level but not displayed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!skill.getPermissions(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // TODO: Verify that this is what we want - calculated in power level but not displayed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!skill.getPermissions(player)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sidebarObjective.getScore(ScoreboardManager.skillLabels.get(skill)).setScore(level); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sidebarObjective.getScore(ScoreboardManager.skillLabels.get(skill)).setScore(level); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sidebarObjective.getScore(ScoreboardManager.LABEL_POWER_LEVEL).setScore(powerLevel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sidebarObjective.getScore(ScoreboardManager.LABEL_POWER_LEVEL).setScore(powerLevel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        case RANK_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        case TOP_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case RANK_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case TOP_BOARD: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              * @see #acceptRankData(Map<SkillType, Integer> rank) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              * @see #acceptLeaderboardData(List<PlayerStat> stats) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |