PCommand.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.gmail.nossr50.commands.party;
  2. import org.bukkit.Bukkit;
  3. import org.bukkit.ChatColor;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandExecutor;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.entity.Player;
  8. import com.gmail.nossr50.datatypes.PlayerProfile;
  9. import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
  10. import com.gmail.nossr50.locale.mcLocale;
  11. import com.gmail.nossr50.util.Users;
  12. import com.gmail.nossr50.util.mcPermissions;
  13. public class PCommand implements CommandExecutor {
  14. public PCommand() {}
  15. @Override
  16. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  17. // Console message?
  18. if (!(sender instanceof Player)) {
  19. if (args.length < 2)
  20. return true;
  21. String pMessage = args[1];
  22. for (int i = 2; i <= args.length - 1; i++) {
  23. pMessage = pMessage + " " + args[i];
  24. }
  25. McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent("Console", args[0], pMessage);
  26. Bukkit.getPluginManager().callEvent(chatEvent);
  27. if(chatEvent.isCancelled()) return true;
  28. pMessage = chatEvent.getMessage();
  29. String pPrefix = ChatColor.GREEN + "(" + ChatColor.WHITE + "*Console*" + ChatColor.GREEN + ") ";
  30. Bukkit.getLogger().info("[P](" + args[0] + ")" + "<*Console*> " + pMessage);
  31. for (Player herp : Bukkit.getServer().getOnlinePlayers()) {
  32. if (Users.getProfile(herp).inParty()) {
  33. if (Users.getProfile(herp).getParty().equalsIgnoreCase(args[0])) {
  34. herp.sendMessage(pPrefix + pMessage);
  35. }
  36. }
  37. }
  38. return true;
  39. }
  40. Player player = (Player) sender;
  41. PlayerProfile PP = Users.getProfile(player);
  42. if (!mcPermissions.getInstance().party(player)) {
  43. player.sendMessage(ChatColor.YELLOW + "[mcMMO] " + ChatColor.DARK_RED + mcLocale.getString("mcPlayerListener.NoPermission"));
  44. return true;
  45. }
  46. // Not a toggle, a message
  47. if (args.length >= 1) {
  48. if(!PP.inParty()) {
  49. player.sendMessage("You're not in a party."); //TODO: Use mcLocale
  50. return true;
  51. }
  52. String pMessage = args[0];
  53. for (int i = 1; i <= args.length - 1; i++) {
  54. pMessage = pMessage + " " + args[i];
  55. }
  56. PP.togglePartyChat();
  57. player.chat(pMessage);
  58. PP.togglePartyChat();
  59. return true;
  60. }
  61. if (PP.getAdminChatMode())
  62. PP.toggleAdminChat();
  63. PP.togglePartyChat();
  64. if (PP.getPartyChatMode()) {
  65. player.sendMessage(mcLocale.getString("mcPlayerListener.PartyChatOn"));
  66. } else {
  67. player.sendMessage(mcLocale.getString("mcPlayerListener.PartyChatOff"));
  68. }
  69. return true;
  70. }
  71. }