Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.UUID;
- public class MessagePlugin extends JavaPlugin implements CommandExecutor {
- private Map<UUID, UUID> replyMap;
- @Override
- public void onEnable() {
- System.out.println("[MessagePlugin] Enabled");
- getCommand("msg").setExecutor(this);
- getCommand("r").setExecutor(this);
- replyMap = new HashMap<>();
- }
- @Override
- public void onDisable() {
- System.out.println("[MessagePlugin] Disabled");
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (cmd.getName().equalsIgnoreCase("msg")) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "Only players can use this command.");
- return true;
- }
- Player player = (Player) sender;
- if (args.length < 2) {
- player.sendMessage(ChatColor.RED + "Usage: /msg <player> <message>");
- return true;
- }
- Player targetPlayer = getServer().getPlayer(args[0]);
- if (targetPlayer == null) {
- player.sendMessage(ChatColor.RED + "Player not found.");
- return true;
- }
- StringBuilder messageBuilder = new StringBuilder();
- for (int i = 1; i < args.length; i++) {
- messageBuilder.append(args[i]).append(" ");
- }
- String message = messageBuilder.toString().trim();
- replyMap.put(targetPlayer.getUniqueId(), player.getUniqueId());
- targetPlayer.sendMessage(ChatColor.RED + "[Msg] " + player.getName() + " -> You: " + ChatColor.GOLD + message);
- player.sendMessage(ChatColor.RED + "[Msg] You -> " + targetPlayer.getName() + ": " + ChatColor.GOLD + message);
- return true;
- } else if (cmd.getName().equalsIgnoreCase("r")) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "Only players can use this command.");
- return true;
- }
- Player player = (Player) sender;
- UUID targetUUID = replyMap.get(player.getUniqueId());
- if (targetUUID == null) {
- player.sendMessage(ChatColor.RED + "You have no one to reply to.");
- return true;
- }
- Player targetPlayer = getServer().getPlayer(targetUUID);
- if (targetPlayer == null) {
- player.sendMessage(ChatColor.RED + "The player you were messaging is no longer online.");
- replyMap.remove(player.getUniqueId());
- return true;
- }
- if (args.length < 1) {
- player.sendMessage(ChatColor.RED + "Usage: /r <message>");
- return true;
- }
- StringBuilder messageBuilder = new StringBuilder();
- for (String arg : args) {
- messageBuilder.append(arg).append(" ");
- }
- String message = messageBuilder.toString().trim();
- replyMap.put(targetPlayer.getUniqueId(), player.getUniqueId());
- targetPlayer.sendMessage(ChatColor.RED + "[Msg] " + player.getName() + " -> You: " + ChatColor.GOLD + message);
- player.sendMessage(ChatColor.RED + "[Msg] You -> " + targetPlayer.getName() + ": " + ChatColor.GOLD + message);
- return true;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement