|
@@ -28,6 +28,7 @@ import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map.Entry;
|
|
|
import java.util.UUID;
|
|
|
+import java.util.logging.Level;
|
|
|
|
|
|
public final class PartyManager {
|
|
|
private static final String partiesFilePath = mcMMO.getFlatFileDirectory() + "parties.yml";
|
|
@@ -609,34 +610,38 @@ public final class PartyManager {
|
|
|
ArrayList<Party> hasAlly = new ArrayList<>();
|
|
|
|
|
|
for (String partyName : partiesFile.getConfigurationSection("").getKeys(false)) {
|
|
|
- Party party = new Party(partyName);
|
|
|
+ try {
|
|
|
+ Party party = new Party(partyName);
|
|
|
|
|
|
- String[] leaderSplit = partiesFile.getString(partyName + ".Leader").split("[|]");
|
|
|
- party.setLeader(new PartyLeader(UUID.fromString(leaderSplit[0]), leaderSplit[1]));
|
|
|
- party.setPassword(partiesFile.getString(partyName + ".Password"));
|
|
|
- party.setLocked(partiesFile.getBoolean(partyName + ".Locked"));
|
|
|
- party.setLevel(partiesFile.getInt(partyName + ".Level"));
|
|
|
- party.setXp(partiesFile.getInt(partyName + ".Xp"));
|
|
|
+ String[] leaderSplit = partiesFile.getString(partyName + ".Leader").split("[|]");
|
|
|
+ party.setLeader(new PartyLeader(UUID.fromString(leaderSplit[0]), leaderSplit[1]));
|
|
|
+ party.setPassword(partiesFile.getString(partyName + ".Password"));
|
|
|
+ party.setLocked(partiesFile.getBoolean(partyName + ".Locked"));
|
|
|
+ party.setLevel(partiesFile.getInt(partyName + ".Level"));
|
|
|
+ party.setXp(partiesFile.getInt(partyName + ".Xp"));
|
|
|
|
|
|
- if (partiesFile.getString(partyName + ".Ally") != null) {
|
|
|
- hasAlly.add(party);
|
|
|
- }
|
|
|
+ if (partiesFile.getString(partyName + ".Ally") != null) {
|
|
|
+ hasAlly.add(party);
|
|
|
+ }
|
|
|
|
|
|
- party.setXpShareMode(ShareMode.getShareMode(partiesFile.getString(partyName + ".ExpShareMode", "NONE")));
|
|
|
- party.setItemShareMode(ShareMode.getShareMode(partiesFile.getString(partyName + ".ItemShareMode", "NONE")));
|
|
|
+ party.setXpShareMode(ShareMode.getShareMode(partiesFile.getString(partyName + ".ExpShareMode", "NONE")));
|
|
|
+ party.setItemShareMode(ShareMode.getShareMode(partiesFile.getString(partyName + ".ItemShareMode", "NONE")));
|
|
|
|
|
|
- for (ItemShareType itemShareType : ItemShareType.values()) {
|
|
|
- party.setSharingDrops(itemShareType, partiesFile.getBoolean(partyName + ".ItemShareType." + itemShareType.toString(), true));
|
|
|
- }
|
|
|
+ for (ItemShareType itemShareType : ItemShareType.values()) {
|
|
|
+ party.setSharingDrops(itemShareType, partiesFile.getBoolean(partyName + ".ItemShareType." + itemShareType.toString(), true));
|
|
|
+ }
|
|
|
|
|
|
- LinkedHashMap<UUID, String> members = party.getMembers();
|
|
|
+ LinkedHashMap<UUID, String> members = party.getMembers();
|
|
|
|
|
|
- for (String memberEntry : partiesFile.getStringList(partyName + ".Members")) {
|
|
|
- String[] memberSplit = memberEntry.split("[|]");
|
|
|
- members.put(UUID.fromString(memberSplit[0]), memberSplit[1]);
|
|
|
- }
|
|
|
+ for (String memberEntry : partiesFile.getStringList(partyName + ".Members")) {
|
|
|
+ String[] memberSplit = memberEntry.split("[|]");
|
|
|
+ members.put(UUID.fromString(memberSplit[0]), memberSplit[1]);
|
|
|
+ }
|
|
|
|
|
|
- parties.add(party);
|
|
|
+ parties.add(party);
|
|
|
+ } catch (Exception e) {
|
|
|
+ mcMMO.p.getLogger().log(Level.WARNING, "An exception occurred while loading a party with name '" + partyName + "'. Skipped loading party.", e);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
mcMMO.p.debug("Loaded (" + parties.size() + ") Parties...");
|