Problem/Bug Reply Bug

Discussion in 'Plugin Help/Development/Requests' started by bubblefat_, Feb 3, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    bubblefat_

    When I go ingame my command works fine exempt for the /reply. When I message a player then do /reply it says I haven't messaged anyone.

    Code:
    package Commands;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    
    public class tryhard implements CommandExecutor {
        
        public Map<Player, Player> lastRecieved = new HashMap<Player, Player>();
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
            if (sender instanceof Player) {
                final Player player = (Player) sender;
                if ((cmd.getName().equalsIgnoreCase("m"))) {  
                    if(args.length == 0){
                        player.sendMessage("Message: Player argument missing.");
                        return true;
                    }
                    Player tarPlayer = player.getServer().getPlayer(args[0]);
                    if(args.length == 1){
                        if(tarPlayer != null) {
                            player.sendMessage("Message: Message argument missing.");
                            return true;
                        }
                    }
                    if(tarPlayer == null){
                        player.sendMessage("Message: Cannot find player " + args[0]);
                        return true;
                    }
                    if(args.length >= 2){
                        StringBuilder sb = new StringBuilder();
                        for(int i=1; i<args.length; i++){
                            sb.append(args[i]).append(" ");
                        }
                        String msg = sb.toString();
                        player.sendMessage(" -> "+ tarPlayer.getName() + msg);
                        player.sendMessage(" <- "+ tarPlayer.getName() + msg);
                        lastRecieved.put(player, tarPlayer);
                        return true;
                    }
                }
            }
            if (cmd.getName().equalsIgnoreCase("reply")){
                if (sender instanceof Player) {
                    Player player = (Player) sender;
                    if (args.length == 0){
                        player.sendMessage(ChatColor.RED + "/reply <message>");
                        return true;
                    }
                    StringBuilder str = new StringBuilder();
                    for (int i = 0; i < args.length; i ++){
                        str.append(args[i] + " ");
                    }
                    String mes2 = str.toString();
                    Player target = lastRecieved.get(player);
                    if (target == null){
                        player.sendMessage(ChatColor.RED + "You have no one to reply to.");
                        return true;
                    } else {
                        target.sendMessage(ChatColor.AQUA + "<" + player.getDisplayName()  + ChatColor.AQUA + " -> " + target.getDisplayName() + ChatColor.AQUA + "> " + ChatColor.GRAY + mes2);
                        player.sendMessage(ChatColor.AQUA + "<" + player.getDisplayName()  + ChatColor.AQUA + " -> " + target.getDisplayName() + ChatColor.AQUA + "> " + ChatColor.GRAY + mes2);
                    }
               
                }
            }
            return true;
        }
    }
     
Thread Status:
Not open for further replies.

Share This Page