| 
					
				 | 
			
			
				@@ -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..."); 
			 |