|  | @@ -25,8 +25,10 @@ public abstract class ExperienceCommand implements TabExecutor {
 | 
	
		
			
				|  |  |      public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
 | 
	
		
			
				|  |  |          PrimarySkillType skill;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        switch (args.length) {
 | 
	
		
			
				|  |  | -            case 2:
 | 
	
		
			
				|  |  | +        if(args.length < 2) {
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            if(args.length == 2 && !isSilent(args) || args.length == 3 && isSilent(args)) {
 | 
	
		
			
				|  |  |                  if (CommandUtils.noConsoleUsage(sender)) {
 | 
	
		
			
				|  |  |                      return true;
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -62,10 +64,10 @@ public abstract class ExperienceCommand implements TabExecutor {
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                editValues((Player) sender, UserManager.getPlayer(sender.getName()).getProfile(), skill, Integer.parseInt(args[1]));
 | 
	
		
			
				|  |  | +                editValues((Player) sender, UserManager.getPlayer(sender.getName()).getProfile(), skill, Integer.parseInt(args[1]), isSilent(args));
 | 
	
		
			
				|  |  |                  return true;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            case 3:
 | 
	
		
			
				|  |  | +            } else if((args.length == 3 && !isSilent(args))
 | 
	
		
			
				|  |  | +                    || (args.length == 4 && isSilent(args))) {
 | 
	
		
			
				|  |  |                  if (!permissionsCheckOthers(sender)) {
 | 
	
		
			
				|  |  |                      sender.sendMessage(command.getPermissionMessage());
 | 
	
		
			
				|  |  |                      return true;
 | 
	
	
		
			
				|  | @@ -105,20 +107,30 @@ public abstract class ExperienceCommand implements TabExecutor {
 | 
	
		
			
				|  |  |                          return true;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    editValues(null, profile, skill, value);
 | 
	
		
			
				|  |  | +                    editValues(null, profile, skill, value, isSilent(args));
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  else {
 | 
	
		
			
				|  |  | -                    editValues(mcMMOPlayer.getPlayer(), mcMMOPlayer.getProfile(), skill, value);
 | 
	
		
			
				|  |  | +                    editValues(mcMMOPlayer.getPlayer(), mcMMOPlayer.getProfile(), skill, value, isSilent(args));
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  handleSenderMessage(sender, playerName, skill);
 | 
	
		
			
				|  |  |                  return true;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            default:
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  return false;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private boolean isSilent(String[] args) {
 | 
	
		
			
				|  |  | +        int length = args.length;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if(length == 0)
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return args[length-1].equalsIgnoreCase("-s");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
 | 
	
		
			
				|  |  |          switch (args.length) {
 | 
	
	
		
			
				|  | @@ -135,8 +147,8 @@ public abstract class ExperienceCommand implements TabExecutor {
 | 
	
		
			
				|  |  |      protected abstract boolean permissionsCheckSelf(CommandSender sender);
 | 
	
		
			
				|  |  |      protected abstract boolean permissionsCheckOthers(CommandSender sender);
 | 
	
		
			
				|  |  |      protected abstract void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value);
 | 
	
		
			
				|  |  | -    protected abstract void handlePlayerMessageAll(Player player, int value);
 | 
	
		
			
				|  |  | -    protected abstract void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill);
 | 
	
		
			
				|  |  | +    protected abstract void handlePlayerMessageAll(Player player, int value, boolean isSilent);
 | 
	
		
			
				|  |  | +    protected abstract void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill, boolean isSilent);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private boolean validateArguments(CommandSender sender, String skillName, String value) {
 | 
	
		
			
				|  |  |          return !(CommandUtils.isInvalidInteger(sender, value) || (!skillName.equalsIgnoreCase("all") && CommandUtils.isInvalidSkill(sender, skillName)));
 | 
	
	
		
			
				|  | @@ -151,21 +163,21 @@ public abstract class ExperienceCommand implements TabExecutor {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    protected void editValues(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
 | 
	
		
			
				|  |  | +    protected void editValues(Player player, PlayerProfile profile, PrimarySkillType skill, int value, boolean isSilent) {
 | 
	
		
			
				|  |  |          if (skill == null) {
 | 
	
		
			
				|  |  |              for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
 | 
	
		
			
				|  |  |                  handleCommand(player, profile, primarySkillType, value);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (player != null) {
 | 
	
		
			
				|  |  | -                handlePlayerMessageAll(player, value);
 | 
	
		
			
				|  |  | +                handlePlayerMessageAll(player, value, isSilent);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          else {
 | 
	
		
			
				|  |  |              handleCommand(player, profile, skill, value);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (player != null) {
 | 
	
		
			
				|  |  | -                handlePlayerMessageSkill(player, value, skill);
 | 
	
		
			
				|  |  | +                handlePlayerMessageSkill(player, value, skill, isSilent);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 |