PartyExpShareCommand.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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.config.Config;
  7. import com.gmail.nossr50.datatypes.party.Party;
  8. import com.gmail.nossr50.datatypes.party.ShareMode;
  9. import com.gmail.nossr50.locale.LocaleLoader;
  10. import com.gmail.nossr50.util.StringUtils;
  11. import com.gmail.nossr50.util.commands.CommandUtils;
  12. import com.gmail.nossr50.util.player.UserManager;
  13. public class PartyExpShareCommand implements CommandExecutor {
  14. private Party playerParty;
  15. @Override
  16. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  17. if (!Config.getInstance().getExpShareEnabled()) {
  18. sender.sendMessage(LocaleLoader.getString("Party.ExpShare.Disabled"));
  19. return true;
  20. }
  21. switch (args.length) {
  22. case 2:
  23. playerParty = UserManager.getPlayer((Player) sender).getParty();
  24. if (args[1].equalsIgnoreCase("none") || CommandUtils.shouldDisableToggle(args[1])) {
  25. handleChangingShareMode(ShareMode.NONE);
  26. }
  27. else if (args[1].equalsIgnoreCase("equal") || args[1].equalsIgnoreCase("even") || CommandUtils.shouldEnableToggle(args[1])) {
  28. handleChangingShareMode(ShareMode.EQUAL);
  29. }
  30. else {
  31. sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "expshare", "<NONE | EQUAL>"));
  32. }
  33. return true;
  34. default:
  35. sender.sendMessage(LocaleLoader.getString("Commands.Usage.2", "party", "expshare", "<NONE | EQUAL>"));
  36. return true;
  37. }
  38. }
  39. private void handleChangingShareMode(ShareMode mode) {
  40. playerParty.setXpShareMode(mode);
  41. String changeModeMessage = LocaleLoader.getString("Commands.Party.SetSharing", LocaleLoader.getString("Party.ShareType.Exp"), LocaleLoader.getString("Party.ShareMode." + StringUtils.getCapitalized(mode.toString())));
  42. for (Player member : playerParty.getOnlineMembers()) {
  43. member.sendMessage(changeModeMessage);
  44. }
  45. }
  46. }