@Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { switch (args.length) { case 1: if (sender instanceof Player && Config.getInstance().getInspectScoreboardEnabled()) { ScoreboardManager.setupPlayerScoreboard(sender.getName()); } String playerName = Misc.getMatchedPlayerName(args[0]); McMMOPlayer mcMMOPlayer = UserManager.getPlayer(playerName, true); // If the mcMMOPlayer doesn't exist, create a temporary profile and check if it's present in // the database. If it's not, abort the process. if (mcMMOPlayer == null) { PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(playerName, false); // Temporary Profile if (CommandUtils.inspectOffline(sender, profile, Permissions.inspectOffline(sender))) { return true; } if (sender instanceof Player && Config.getInstance().getInspectScoreboardEnabled()) { ScoreboardManager.enablePlayerInspectScoreboardOffline((Player) sender, profile); return true; } sender.sendMessage(LocaleLoader.getString("Inspect.OfflineStats", playerName)); sender.sendMessage(LocaleLoader.getString("Stats.Header.Gathering")); for (SkillType skill : SkillType.GATHERING_SKILLS) { sender.sendMessage(CommandUtils.displaySkill(profile, skill)); } sender.sendMessage(LocaleLoader.getString("Stats.Header.Combat")); for (SkillType skill : SkillType.COMBAT_SKILLS) { sender.sendMessage(CommandUtils.displaySkill(profile, skill)); } sender.sendMessage(LocaleLoader.getString("Stats.Header.Misc")); for (SkillType skill : SkillType.MISC_SKILLS) { sender.sendMessage(CommandUtils.displaySkill(profile, skill)); } } else { Player target = mcMMOPlayer.getPlayer(); if (CommandUtils.hidden(sender, target, Permissions.inspectHidden(sender))) { if (!Permissions.inspectOffline(sender)) { sender.sendMessage(LocaleLoader.getString("Inspect.Offline")); return true; } } else if (CommandUtils.tooFar(sender, target, Permissions.inspectFar(sender))) { return true; } if (sender instanceof Player && Config.getInstance().getInspectScoreboardEnabled()) { ScoreboardManager.enablePlayerInspectScoreboardOnline((Player) sender, mcMMOPlayer); return true; } sender.sendMessage(LocaleLoader.getString("Inspect.Stats", target.getName())); CommandUtils.printGatheringSkills(target, sender); CommandUtils.printCombatSkills(target, sender); CommandUtils.printMiscSkills(target, sender); sender.sendMessage( LocaleLoader.getString("Commands.PowerLevel", mcMMOPlayer.getPowerLevel())); } return true; default: return false; } }
// TODO: Add Alchemy public static String replaceVariables(String string, Player player) { String newString = string; McMMOPlayer mp = UserManager.getPlayer(player.getName()); if (newString.contains("<mcmmopowerlevel>")) newString = newString.replaceAll("<mcmmopowerlevel>", String.valueOf(mp.getPowerLevel())); if (newString.contains("<mcmmoacrobatics>")) newString = newString.replaceAll( "<mcmmoacrobatics>", String.valueOf(mp.getAcrobaticsManager().getSkillLevel())); if (newString.contains("<mcmmoalchemy>")) newString = newString.replaceAll( "<mcmmoalchemy>", String.valueOf(mp.getAlchemyManager().getSkillLevel())); if (newString.contains("<mcmmoarchery>")) newString = newString.replaceAll( "<mcmmoarchery>", String.valueOf(mp.getArcheryManager().getSkillLevel())); if (newString.contains("<mcmmoaxes>")) newString = newString.replaceAll("<mcmmoaxes>", String.valueOf(mp.getAxesManager().getSkillLevel())); if (newString.contains("<mcmmoexcavation>")) newString = newString.replaceAll( "<mcmmoexcavation>", String.valueOf(mp.getExcavationManager().getSkillLevel())); if (newString.contains("<mcmmofishing>")) newString = newString.replaceAll( "<mcmmofishing>", String.valueOf(mp.getFishingManager().getSkillLevel())); if (newString.contains("<mcmmoherbalism>")) newString = newString.replaceAll( "<mcmmoherbalism>", String.valueOf(mp.getHerbalismManager().getSkillLevel())); if (newString.contains("<mcmmomining>")) newString = newString.replaceAll( "<mcmmomining>", String.valueOf(mp.getMiningManager().getSkillLevel())); if (newString.contains("<mcmmorepair>")) newString = newString.replaceAll( "<mcmmorepair>", String.valueOf(mp.getRepairManager().getSkillLevel())); if (newString.contains("<mcmmosmelting>")) newString = newString.replaceAll( "<mcmmosmelting>", String.valueOf(mp.getSmeltingManager().getSkillLevel())); if (newString.contains("<mcmmoswords>")) newString = newString.replaceAll( "<mcmmoswords>", String.valueOf(mp.getSwordsManager().getSkillLevel())); if (newString.contains("<mcmmotaming>")) newString = newString.replaceAll( "<mcmmotaming>", String.valueOf(mp.getTamingManager().getSkillLevel())); if (newString.contains("<mcmmounarmed>")) newString = newString.replaceAll( "<mcmmounarmed>", String.valueOf(mp.getUnarmedManager().getSkillLevel())); if (newString.contains("<mcmmowoodcutting>")) newString = newString.replaceAll( "<mcmmowoodcutting>", String.valueOf(mp.getWoodcuttingManager().getSkillLevel())); if (newString.contains("<mcmmomaxpowerlevel>")) newString = newString.replaceAll( "<mcmmomaxpowerlevel>", String.valueOf(ExperienceAPI.getPowerLevelCap())); if (newString.contains("<mcmmomaxacrobatics>")) newString = newString.replaceAll( "<mcmmomaxacrobatics>", String.valueOf(ExperienceAPI.getLevelCap("ACROBATICS"))); if (newString.contains("<mcmmomaxalchemy>")) newString = newString.replaceAll( "<mcmmomaxalchemy>", String.valueOf(ExperienceAPI.getLevelCap("ALCHEMY"))); if (newString.contains("<mcmmomaxarchery>")) newString = newString.replaceAll( "<mcmmomaxarchery>", String.valueOf(ExperienceAPI.getLevelCap("ARCHERY"))); if (newString.contains("<mcmmomaxaxes>")) newString = newString.replaceAll("<mcmmomaxaxes>", String.valueOf(ExperienceAPI.getLevelCap("AXES"))); if (newString.contains("<mcmmomaxexcavation>")) newString = newString.replaceAll( "<mcmmomaxexcavation>", String.valueOf(ExperienceAPI.getLevelCap("EXCAVATION"))); if (newString.contains("<mcmmomaxfishing>")) newString = newString.replaceAll( "<mcmmomaxfishing>", String.valueOf(ExperienceAPI.getLevelCap("FISHING"))); if (newString.contains("<mcmmomaxherbalism>")) newString = newString.replaceAll( "<mcmmomaxherbalism>", String.valueOf(ExperienceAPI.getLevelCap("HERBALISM"))); if (newString.contains("<mcmmomaxmining>")) newString = newString.replaceAll( "<mcmmomaxmining>", String.valueOf(ExperienceAPI.getLevelCap("MINING"))); if (newString.contains("<mcmmomaxrepair>")) newString = newString.replaceAll( "<mcmmomaxrepair>", String.valueOf(ExperienceAPI.getLevelCap("REPAIR"))); if (newString.contains("<mcmmomaxsmelting>")) newString = newString.replaceAll( "<mcmmomaxsmelting>", String.valueOf(ExperienceAPI.getLevelCap("SMELTING"))); if (newString.contains("<mcmmomaxswords>")) newString = newString.replaceAll( "<mcmmomaxswords>", String.valueOf(ExperienceAPI.getLevelCap("SWORDS"))); if (newString.contains("<mcmmomaxtaming>")) newString = newString.replaceAll( "<mcmmomaxtaming>", String.valueOf(ExperienceAPI.getLevelCap("TAMING"))); if (newString.contains("<mcmmomaxunarmed>")) newString = newString.replaceAll( "<mcmmomaxunarmed>", String.valueOf(ExperienceAPI.getLevelCap("UNARMED"))); if (newString.contains("<mcmmomaxwoodcutting>")) newString = newString.replaceAll( "<mcmmomaxwoodcutting>", String.valueOf(ExperienceAPI.getLevelCap("WOODCUTTING"))); if (newString.contains("<mcmmonextacrobatics>")) newString = newString.replaceAll( "<mcmmonextacrobatics>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "ACROBATICS"))); if (newString.contains("<mcmmonextalchemy>")) newString = newString.replaceAll( "<mcmmonextalchemy>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "ALCHEMY"))); if (newString.contains("<mcmmonextarchery>")) newString = newString.replaceAll( "<mcmmonextarchery>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "ARCHERY"))); if (newString.contains("<mcmmonextaxes>")) newString = newString.replaceAll( "<mcmmonextaxes>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "AXES"))); if (newString.contains("<mcmmonextexcavation>")) newString = newString.replaceAll( "<mcmmonextexcavation>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "EXCAVATION"))); if (newString.contains("<mcmmonextfishing>")) newString = newString.replaceAll( "<mcmmonextfishing>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "FISHING"))); if (newString.contains("<mcmmonextherbalism>")) newString = newString.replaceAll( "<mcmmonextherbalism>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "HERBALISM"))); if (newString.contains("<mcmmonextmining>")) newString = newString.replaceAll( "<mcmmonextmining>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "MINING"))); if (newString.contains("<mcmmonextrepair>")) newString = newString.replaceAll( "<mcmmonextrepair>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "REPAIR"))); if (newString.contains("<mcmmonextsmelting>")) newString = newString.replaceAll( "<mcmmonextsmelting>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "SMELTING"))); if (newString.contains("<mcmmonextswords>")) newString = newString.replaceAll( "<mcmmonextswords>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "SWORDS"))); if (newString.contains("<mcmmonexttaming>")) newString = newString.replaceAll( "<mcmmonexttaming>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "TAMING"))); if (newString.contains("<mcmmonextunarmed>")) newString = newString.replaceAll( "<mcmmonextunarmed>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "UNARMED"))); if (newString.contains("<mcmmonextwoodcutting>")) newString = newString.replaceAll( "<mcmmonextwoodcutting>", String.valueOf(ExperienceAPI.getXPToNextLevel(player, "WOODCUTTING"))); if (newString.contains("<mcmmoparty>")) newString = newString.replaceAll( "<mcmmoparty>", String.valueOf( "" + (PartyManager.getParty(player.getName()) != null ? PartyManager.getParty(player.getName()).getName() : "Unknown"))); if (newString.contains("<mcmmopartyleader>")) newString = newString.replaceAll( "<mcmmopartyleader>", String.valueOf( "" + (PartyManager.getParty(player.getName()).getLeader() != null ? PartyManager.getParty(player.getName()).getLeader() : "Unknown"))); if (newString.contains("<mcmmopartyexpshare>")) newString = newString.replaceAll( "<mcmmopartyexpshare>", String.valueOf( "" + (PartyManager.getParty(player.getName()) != null ? PartyManager.getParty(player.getName()).getXpShareMode().toString() : "Unknown"))); if (newString.contains("<mcmmopartymembers>")) newString = newString.replaceAll( "<mcmmopartymembers>", String.valueOf( "" + (PartyManager.getParty(player.getName()) != null ? PartyManager.getParty(player.getName()).getMembers().size() : "0"))); if (newString.contains("<mcmmopartymemberson>")) newString = newString.replaceAll( "<mcmmopartymemberson>", String.valueOf( "" + (PartyManager.getParty(player.getName()) != null ? PartyManager.getParty(player.getName()).getOnlineMembers().size() : "0"))); if (newString.contains("<mcmmogodmode>")) newString = newString.replaceAll( "<mcmmogodmode>", String.valueOf(UserManager.getPlayer(player.getName()).getGodMode())); return newString; }