|
|
|
@ -8,28 +8,76 @@ public class PartyArray { |
|
|
|
|
private static Map<UUID, Party> m_PartyArray = new HashMap<UUID, Party>(); |
|
|
|
|
|
|
|
|
|
private static Map<String, UUID> m_PartyNameList = new HashMap<String, UUID>(); |
|
|
|
|
public void CreateParty(UUID PartyUUID, String Name, UUID PlayerUUID){ |
|
|
|
|
m_PartyArray.put(PartyUUID, new Party(Name, PlayerUUID)); |
|
|
|
|
m_PartyNameList.put(Name, PartyUUID); |
|
|
|
|
|
|
|
|
|
UserInfoArray m_UserInfoArray; |
|
|
|
|
|
|
|
|
|
public PartyArray(UserInfoArray m_UIA){ |
|
|
|
|
m_UserInfoArray = m_UIA; |
|
|
|
|
} |
|
|
|
|
public boolean CreateParty(UUID PartyUUID, String Name, UUID PlayerUUID){ |
|
|
|
|
if(m_PartyNameList.containsKey(Name)){ |
|
|
|
|
return false; // Conflict
|
|
|
|
|
} else{ |
|
|
|
|
m_PartyArray.put(PartyUUID, new Party(Name, PlayerUUID)); |
|
|
|
|
m_PartyNameList.put(Name, PartyUUID); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void SignUpParty(UUID PartyUUID, UUID PlayerUUID){ |
|
|
|
|
Party m_Party = m_PartyArray.get(PartyUUID); |
|
|
|
|
m_Party.SignUp(PlayerUUID); |
|
|
|
|
public boolean DeleteParty(UUID PartyUUID){ |
|
|
|
|
if(m_PartyArray.containsKey(PartyUUID)){ |
|
|
|
|
for(UUID key: GetPartyMembersUUID(PartyUUID)){ |
|
|
|
|
m_UserInfoArray.setUserPartyUUID(key, new UUID(0,0)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
m_PartyNameList.remove(GetPartyName(PartyUUID)); |
|
|
|
|
m_PartyArray.remove(PartyUUID); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
else{ |
|
|
|
|
return false; // Party is not exists.
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void ExpulsionParty(UUID PartyUUID, UUID PlayerUUID){ |
|
|
|
|
Party m_Party = m_PartyArray.get(PartyUUID); |
|
|
|
|
m_Party.Expulsion(PlayerUUID); |
|
|
|
|
public Integer SignUpParty(UUID PartyUUID, UUID PlayerUUID){ |
|
|
|
|
if(m_PartyArray.containsKey(PartyUUID)){ |
|
|
|
|
if(isOffline(PlayerUUID)){ |
|
|
|
|
Party m_Party = m_PartyArray.get(PartyUUID); |
|
|
|
|
m_Party.SignUp(PlayerUUID); |
|
|
|
|
m_UserInfoArray.setUserPartyUUID(PlayerUUID,PartyUUID); |
|
|
|
|
return 1; // Success
|
|
|
|
|
}else{ |
|
|
|
|
return 2; // Offline Player
|
|
|
|
|
} |
|
|
|
|
} else{ |
|
|
|
|
return 3; // Wrong Party
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public List<String> GetPartyMembers(UUID PartyUUID){ |
|
|
|
|
public boolean ExpulsionPartyPlayer(UUID PartyUUID, UUID PlayerUUID){ |
|
|
|
|
if(GetPartyMembersName(PartyUUID).contains(PlayerUUID)) { |
|
|
|
|
Party m_Party = m_PartyArray.get(PartyUUID); |
|
|
|
|
m_Party.Expulsion(PlayerUUID); |
|
|
|
|
return true; |
|
|
|
|
} else{ |
|
|
|
|
return false; // Wrong Player Name. FIXME{Need Checking function for a validate user name's }
|
|
|
|
|
/* Player op = Bukkit.getPlayer(args[1]); |
|
|
|
|
if (op != null) { |
|
|
|
|
*/ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public List<String> GetPartyMembersName(UUID PartyUUID){ |
|
|
|
|
List<String> MembersName = new ArrayList<>(); |
|
|
|
|
for (UUID key : m_PartyArray.get(PartyUUID).getGroupMembers()){ |
|
|
|
|
MembersName.add(Bukkit.getPlayer(key).getDisplayName()); |
|
|
|
|
} |
|
|
|
|
return MembersName; |
|
|
|
|
} |
|
|
|
|
public List<UUID> GetPartyMembersUUID(UUID PartyUUID){ |
|
|
|
|
return m_PartyArray.get(PartyUUID).getGroupMembers(); |
|
|
|
|
} |
|
|
|
|
public boolean isPartyMember(UUID PartyUUID, UUID PlayerUUID){ |
|
|
|
|
Party m_Party = m_PartyArray.get(PartyUUID); |
|
|
|
|
return m_Party.isMember(PlayerUUID); |
|
|
|
@ -39,8 +87,17 @@ public class PartyArray { |
|
|
|
|
return m_PartyNameList.keySet(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public String GetPartyName(UUID PartyUUID){ |
|
|
|
|
Party m_Party = m_PartyArray.get(PartyUUID); |
|
|
|
|
return m_Party.getGroupName(); |
|
|
|
|
} |
|
|
|
|
public static boolean isOffline(UUID uuid){ |
|
|
|
|
return Bukkit.getPlayer(uuid).equals(null) && !Bukkit.getOfflinePlayer(uuid).equals(null); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean isAvaliableParty(UUID PartyUUID){ |
|
|
|
|
return m_PartyArray.containsKey(PartyUUID); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|