Check to see if players are eligible to join a party before the mcMMOPartyChangeEvent is fired

This commit is contained in:
Daniel Naylor 2012-12-29 12:39:36 +00:00
parent f6bc473eb4
commit 73a5143a17
2 changed files with 22 additions and 1 deletions

View File

@ -137,6 +137,13 @@ public class PartyCommand implements CommandExecutor {
}
}
else {
Party newParty = partyManagerInstance.getParty(args[0]);
// Check to see if the party exists, and if it does, can the player join it?
if (newParty != null && !partyManagerInstance.checkJoinability(player, playerProfile, newParty, null)) {
return true; // End before any event is fired.
}
if (party != null) {
McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, party.getName(), args[0], EventReason.CHANGED_PARTIES);
plugin.getServer().getPluginManager().callEvent(event);
@ -208,6 +215,13 @@ public class PartyCommand implements CommandExecutor {
}
}
else {
Party newParty = partyManagerInstance.getParty(args[0]);
// Check to see if the party exists, and if it does, can the player join it?
if (newParty != null && !partyManagerInstance.checkJoinability(player, playerProfile, newParty, args[1])) {
return true; // End before any event is fired.
}
McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, party.getName(), args[0], EventReason.CHANGED_PARTIES);
plugin.getServer().getPluginManager().callEvent(event);
@ -220,6 +234,13 @@ public class PartyCommand implements CommandExecutor {
}
}
else {
Party newParty = partyManagerInstance.getParty(args[0]);
// Check to see if the party exists, and if it does, can the player join it?
if (newParty != null && !partyManagerInstance.checkJoinability(player, playerProfile, newParty, args[1])) {
return true; // End before any event is fired.
}
McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, null, args[0], EventReason.JOINED_PARTY);
plugin.getServer().getPluginManager().callEvent(event);

View File

@ -241,7 +241,7 @@ public class PartyManager {
* @param password The password provided by the player
* @return true if the player can join the party
*/
private boolean checkJoinability(Player player, PlayerProfile playerProfile, Party party, String password) {
public boolean checkJoinability(Player player, PlayerProfile playerProfile, Party party, String password) {
//Don't care about passwords if it isn't locked
if (party.isLocked()) {
String partyPassword = party.getPassword();