diff --git a/Changelog.txt b/Changelog.txt index 096d33833..b2ef1149a 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -9,6 +9,7 @@ Key: Version 2.1.7 Fixed an almost 6 year old bug where Salvage materials did not have a defined material count so they defaulted to 2 (which could lead to shovels giving back more diamonds than normal) Added spam detection for Unarmed's bonus damage and disarm + Corrected an error where master angler for retro only required level 150 instead of 500 (update your skillranks.yml) (API) Added addXpFromBlocks to ExperienceAPI to help make adding XP for a player easier (API) Added addXpFromBlocksBySkill to ExperienceAPI to help make adding XP for a player easier (API) Added addXpFromBlock to ExperienceAPI to help make adding XP for a player easier diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java index d4724e659..cbe5edc3f 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java @@ -120,10 +120,10 @@ public class PartyInfoCommand implements CommandExecutor { */ List nearMembers = PartyManager.getNearVisibleMembers(mcMMOPlayer); - int membersOnline = party.getVisibleMembers(player).size() - 1; + int membersOnline = party.getVisibleMembers(player).size(); player.sendMessage(LocaleLoader.getString("Commands.Party.Members.Header")); player.sendMessage(LocaleLoader.getString("Commands.Party.MembersNear", nearMembers.size(), membersOnline)); - player.sendMessage(party.createMembersList(player.getName(), nearMembers)); + player.sendMessage(party.createMembersList(player)); } } diff --git a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java index 93d012456..fa91b02ea 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/alliance/PartyAllianceCommand.java @@ -126,8 +126,8 @@ public class PartyAllianceCommand implements TabExecutor { private void displayMemberInfo(McMMOPlayer mcMMOPlayer) { List nearMembers = PartyManager.getNearMembers(mcMMOPlayer); player.sendMessage(LocaleLoader.getString("Commands.Party.Alliance.Members.Header")); - player.sendMessage(playerParty.createMembersList(player.getName(), nearMembers)); + player.sendMessage(playerParty.createMembersList(player)); player.sendMessage(ChatColor.DARK_GRAY + "----------------------------"); - player.sendMessage(targetParty.createMembersList(player.getName(), nearMembers)); + player.sendMessage(targetParty.createMembersList(player)); } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java index b79aff5d2..05fe1fcbc 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java +++ b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java @@ -76,13 +76,13 @@ public class Party { return onlineMembers; } - public List getVisibleMembers(Player commandSender) + public List getVisibleMembers(Player player) { ArrayList visibleMembers = new ArrayList<>(); for(Player p : onlineMembers) { - if(commandSender.canSee(p)) + if(player.canSee(p) && p.canSee(p)) visibleMembers.add(p); } @@ -325,30 +325,27 @@ public class Party { return this.getMembers().keySet().contains(uuid); } - public String createMembersList(String playerName, List nearMembers) { + public String createMembersList(Player player) { StringBuilder memberList = new StringBuilder(); - for (Entry memberEntry : this.getMembers().entrySet()) { - UUID uuid = memberEntry.getKey(); - String memberName = memberEntry.getValue(); + for (Player otherPlayer : this.getVisibleMembers(player)) { + String memberName = otherPlayer.getName(); - Player member = mcMMO.p.getServer().getPlayer(uuid); - - if (this.getLeader().getUniqueId().equals(uuid)) { + if (this.getLeader().getUniqueId().equals(player.getUniqueId())) { memberList.append(ChatColor.GOLD); - if (member == null) { + if (otherPlayer == null) { memberName = memberName.substring(0, 1) + ChatColor.GRAY + ChatColor.ITALIC + "" + memberName.substring(1); } } - else if (member != null) { + else if (otherPlayer != null) { memberList.append(ChatColor.WHITE); } else { memberList.append(ChatColor.GRAY); } - if (!nearMembers.contains(member) && !playerName.equalsIgnoreCase(memberName)) { + if (player.getName().equalsIgnoreCase(otherPlayer.getName())) { memberList.append(ChatColor.ITALIC); } diff --git a/src/main/java/com/gmail/nossr50/party/PartyManager.java b/src/main/java/com/gmail/nossr50/party/PartyManager.java index f927202de..4bdcefe9b 100644 --- a/src/main/java/com/gmail/nossr50/party/PartyManager.java +++ b/src/main/java/com/gmail/nossr50/party/PartyManager.java @@ -152,7 +152,9 @@ public final class PartyManager { double range = Config.getInstance().getPartyShareRange(); for (Player member : party.getVisibleMembers(player)) { - if (!player.equals(member) && member.isValid() && Misc.isNear(player.getLocation(), member.getLocation(), range)) { + if (!player.equals(member) + && member.isValid() + && Misc.isNear(player.getLocation(), member.getLocation(), range)) { nearMembers.add(member); } }