mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 22:56:45 +01:00
Use LinkedHashSet instead of List
This commit is contained in:
parent
c60e5a65d6
commit
f05b9ae365
@ -1,6 +1,7 @@
|
|||||||
package com.gmail.nossr50.api;
|
package com.gmail.nossr50.api;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
@ -148,7 +149,7 @@ public final class PartyAPI {
|
|||||||
* @param player The player to check
|
* @param player The player to check
|
||||||
* @return all the player names in the player's party
|
* @return all the player names in the player's party
|
||||||
*/
|
*/
|
||||||
public static List<String> getMembers(Player player) {
|
public static LinkedHashSet<String> getMembers(Player player) {
|
||||||
return PartyManager.getAllMembers(player);
|
return PartyManager.getAllMembers(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.gmail.nossr50.datatypes.party;
|
package com.gmail.nossr50.datatypes.party;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
@ -10,7 +11,7 @@ import com.gmail.nossr50.mcMMO;
|
|||||||
import com.gmail.nossr50.party.ShareHandler;
|
import com.gmail.nossr50.party.ShareHandler;
|
||||||
|
|
||||||
public class Party {
|
public class Party {
|
||||||
private List<String> members = new ArrayList<String>();
|
private LinkedHashSet<String> members = new LinkedHashSet<String>();
|
||||||
private String leader;
|
private String leader;
|
||||||
private String name;
|
private String name;
|
||||||
private String password;
|
private String password;
|
||||||
@ -24,7 +25,7 @@ public class Party {
|
|||||||
private boolean shareHerbalismDrops = true;
|
private boolean shareHerbalismDrops = true;
|
||||||
private boolean shareWoodcuttingDrops = true;
|
private boolean shareWoodcuttingDrops = true;
|
||||||
|
|
||||||
public List<String> getMembers() {
|
public LinkedHashSet<String> getMembers() {
|
||||||
return members;
|
return members;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package com.gmail.nossr50.party;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
@ -97,7 +98,7 @@ public final class PartyManager {
|
|||||||
* @param player The player to check
|
* @param player The player to check
|
||||||
* @return all the players in the player's party
|
* @return all the players in the player's party
|
||||||
*/
|
*/
|
||||||
public static List<String> getAllMembers(Player player) {
|
public static LinkedHashSet<String> getAllMembers(Player player) {
|
||||||
Party party = UserManager.getPlayer(player).getParty();
|
Party party = UserManager.getPlayer(player).getParty();
|
||||||
|
|
||||||
if (party == null) {
|
if (party == null) {
|
||||||
@ -189,12 +190,9 @@ public final class PartyManager {
|
|||||||
* @param party The party
|
* @param party The party
|
||||||
*/
|
*/
|
||||||
public static void removeFromParty(OfflinePlayer player, Party party) {
|
public static void removeFromParty(OfflinePlayer player, Party party) {
|
||||||
List<String> members = party.getMembers();
|
LinkedHashSet<String> members = party.getMembers();
|
||||||
|
|
||||||
while (members.contains(player.getName())) {
|
|
||||||
// Remove all the duplicates as well
|
|
||||||
members.remove(player.getName());
|
members.remove(player.getName());
|
||||||
}
|
|
||||||
|
|
||||||
if (members.isEmpty()) {
|
if (members.isEmpty()) {
|
||||||
parties.remove(party);
|
parties.remove(party);
|
||||||
@ -202,7 +200,7 @@ public final class PartyManager {
|
|||||||
else {
|
else {
|
||||||
// If the leaving player was the party leader, appoint a new leader from the party members
|
// If the leaving player was the party leader, appoint a new leader from the party members
|
||||||
if (party.getLeader().equalsIgnoreCase(player.getName())) {
|
if (party.getLeader().equalsIgnoreCase(player.getName())) {
|
||||||
String newLeader = members.get(0);
|
String newLeader = members.iterator().next();
|
||||||
party.setLeader(newLeader);
|
party.setLeader(newLeader);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,7 +221,7 @@ public final class PartyManager {
|
|||||||
* @param party The party to remove
|
* @param party The party to remove
|
||||||
*/
|
*/
|
||||||
public static void disbandParty(Party party) {
|
public static void disbandParty(Party party) {
|
||||||
List<String> members = party.getMembers();
|
LinkedHashSet<String> members = party.getMembers();
|
||||||
|
|
||||||
for (String memberName : members) {
|
for (String memberName : members) {
|
||||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(memberName);
|
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(memberName);
|
||||||
@ -363,10 +361,8 @@ public final class PartyManager {
|
|||||||
informPartyMembersJoin(player, party);
|
informPartyMembersJoin(player, party);
|
||||||
mcMMOPlayer.setParty(party);
|
mcMMOPlayer.setParty(party);
|
||||||
|
|
||||||
if (!party.getMembers().contains(player.getName())) {
|
|
||||||
party.getMembers().add(player.getName());
|
party.getMembers().add(player.getName());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the leader of a party.
|
* Get the leader of a party.
|
||||||
@ -469,13 +465,11 @@ public final class PartyManager {
|
|||||||
party.setItemShareMode(ShareHandler.ShareMode.getFromString(partiesFile.getString(partyName + ".ItemShareMode")));
|
party.setItemShareMode(ShareHandler.ShareMode.getFromString(partiesFile.getString(partyName + ".ItemShareMode")));
|
||||||
|
|
||||||
List<String> memberNames = partiesFile.getStringList(partyName + ".Members");
|
List<String> memberNames = partiesFile.getStringList(partyName + ".Members");
|
||||||
List<String> members = party.getMembers();
|
LinkedHashSet<String> members = party.getMembers();
|
||||||
|
|
||||||
for (String memberName : memberNames) {
|
for (String memberName : memberNames) {
|
||||||
if (!members.contains(memberName)) {
|
|
||||||
members.add(memberName);
|
members.add(memberName);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
parties.add(party);
|
parties.add(party);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user