AcceptCommand.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.gmail.nossr50.commands.party;
  2. import org.bukkit.command.Command;
  3. import org.bukkit.command.CommandExecutor;
  4. import org.bukkit.command.CommandSender;
  5. import org.bukkit.entity.Player;
  6. import com.gmail.nossr50.mcMMO;
  7. import com.gmail.nossr50.commands.CommandHelper;
  8. import com.gmail.nossr50.datatypes.PlayerProfile;
  9. import com.gmail.nossr50.events.party.McMMOPartyChangeEvent;
  10. import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
  11. import com.gmail.nossr50.locale.LocaleLoader;
  12. import com.gmail.nossr50.party.Party;
  13. import com.gmail.nossr50.util.Users;
  14. public class AcceptCommand implements CommandExecutor {
  15. private final mcMMO plugin;
  16. public AcceptCommand (mcMMO plugin) {
  17. this.plugin = plugin;
  18. }
  19. @Override
  20. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  21. if (CommandHelper.noConsoleUsage(sender)) {
  22. return true;
  23. }
  24. if (CommandHelper.noCommandPermissions(sender, "mcmmo.commands.party")) {
  25. return true;
  26. }
  27. Player player = (Player) sender;
  28. PlayerProfile PP = Users.getProfile(player);
  29. if (PP.hasPartyInvite()) {
  30. Party partyInstance = Party.getInstance();
  31. if (PP.inParty()) {
  32. McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, PP.getParty(), PP.getInvite(), EventReason.CHANGED_PARTIES);
  33. plugin.getServer().getPluginManager().callEvent(event);
  34. if (event.isCancelled()) {
  35. return true;
  36. }
  37. partyInstance.removeFromParty(player, PP);
  38. }
  39. else {
  40. McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, null, PP.getInvite(), EventReason.JOINED_PARTY);
  41. plugin.getServer().getPluginManager().callEvent(event);
  42. if (event.isCancelled()) {
  43. return true;
  44. }
  45. }
  46. PP.acceptInvite();
  47. partyInstance.addToParty(player, PP, PP.getParty(), true, null);
  48. }
  49. else {
  50. player.sendMessage(LocaleLoader.getString("mcMMO.NoInvites"));
  51. }
  52. return true;
  53. }
  54. }