Advertisement
Guest User

Untitled

a guest
Aug 19th, 2024
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. import org.bukkit.ChatColor;
  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 org.bukkit.plugin.java.JavaPlugin;
  7.  
  8. import java.util.HashMap;
  9. import java.util.Map;
  10. import java.util.UUID;
  11.  
  12. public class MessagePlugin extends JavaPlugin implements CommandExecutor {
  13.  
  14. private Map<UUID, UUID> replyMap;
  15.  
  16. @Override
  17. public void onEnable() {
  18. System.out.println("[MessagePlugin] Enabled");
  19. getCommand("msg").setExecutor(this);
  20. getCommand("r").setExecutor(this);
  21. replyMap = new HashMap<>();
  22. }
  23.  
  24. @Override
  25. public void onDisable() {
  26. System.out.println("[MessagePlugin] Disabled");
  27. }
  28.  
  29. @Override
  30. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  31. if (cmd.getName().equalsIgnoreCase("msg")) {
  32. if (!(sender instanceof Player)) {
  33. sender.sendMessage(ChatColor.RED + "Only players can use this command.");
  34. return true;
  35. }
  36.  
  37. Player player = (Player) sender;
  38.  
  39. if (args.length < 2) {
  40. player.sendMessage(ChatColor.RED + "Usage: /msg <player> <message>");
  41. return true;
  42. }
  43.  
  44. Player targetPlayer = getServer().getPlayer(args[0]);
  45. if (targetPlayer == null) {
  46. player.sendMessage(ChatColor.RED + "Player not found.");
  47. return true;
  48. }
  49.  
  50. StringBuilder messageBuilder = new StringBuilder();
  51. for (int i = 1; i < args.length; i++) {
  52. messageBuilder.append(args[i]).append(" ");
  53. }
  54. String message = messageBuilder.toString().trim();
  55.  
  56. replyMap.put(targetPlayer.getUniqueId(), player.getUniqueId());
  57.  
  58. targetPlayer.sendMessage(ChatColor.RED + "[Msg] " + player.getName() + " -> You: " + ChatColor.GOLD + message);
  59. player.sendMessage(ChatColor.RED + "[Msg] You -> " + targetPlayer.getName() + ": " + ChatColor.GOLD + message);
  60. return true;
  61. } else if (cmd.getName().equalsIgnoreCase("r")) {
  62. if (!(sender instanceof Player)) {
  63. sender.sendMessage(ChatColor.RED + "Only players can use this command.");
  64. return true;
  65. }
  66.  
  67. Player player = (Player) sender;
  68. UUID targetUUID = replyMap.get(player.getUniqueId());
  69.  
  70. if (targetUUID == null) {
  71. player.sendMessage(ChatColor.RED + "You have no one to reply to.");
  72. return true;
  73. }
  74.  
  75. Player targetPlayer = getServer().getPlayer(targetUUID);
  76.  
  77. if (targetPlayer == null) {
  78. player.sendMessage(ChatColor.RED + "The player you were messaging is no longer online.");
  79. replyMap.remove(player.getUniqueId());
  80. return true;
  81. }
  82.  
  83. if (args.length < 1) {
  84. player.sendMessage(ChatColor.RED + "Usage: /r <message>");
  85. return true;
  86. }
  87.  
  88. StringBuilder messageBuilder = new StringBuilder();
  89. for (String arg : args) {
  90. messageBuilder.append(arg).append(" ");
  91. }
  92. String message = messageBuilder.toString().trim();
  93.  
  94. replyMap.put(targetPlayer.getUniqueId(), player.getUniqueId());
  95.  
  96. targetPlayer.sendMessage(ChatColor.RED + "[Msg] " + player.getName() + " -> You: " + ChatColor.GOLD + message);
  97. player.sendMessage(ChatColor.RED + "[Msg] You -> " + targetPlayer.getName() + ": " + ChatColor.GOLD + message);
  98. return true;
  99. }
  100. return false;
  101. }
  102. }
  103.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement