Solved Sending only the first line of a String List instead of the entire List.

Discussion in 'Spigot Plugin Development' started by Cervinakuy, May 15, 2016.

  1. Hey guys!

    So I was redoing my Commands.java class, and when I had finally completed doing so, for some reason, when executing my MOTD command, it would only send the first line in both the Console and from a player. I've never had this happen before.

    This is the portion of the code that sends the entire List (Before the recode of the Commands.java class)

    Code (Text):
                                    } else {
                                       
                                        if (args.length == 1) {
                                              if (args[0].equalsIgnoreCase("joinmotd")) {
                                                if (p.hasPermission("jep.command.joinmotd")) {
                                                  p.sendMessage("§7[§b§lJOINEVENTSPRO§7] §bThe currently set §3Join MOTD§b...");
                                                  for(String msg : plugin.getConfig().getStringList("JoinMOTD.Message")) {
                                                    p.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
                                                    p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 10, 1);
                                                   
                                                  }
                                                 
                                                }
                                               
                                              }
                                             
                                              else if (args[0].equalsIgnoreCase("firstjoinmotd")) {
                                                if (p.hasPermission("jep.command.firstjoinmotd")) {
                                                  p.sendMessage("§7[§b§lJOINEVENTSPRO§7] §bThe currently set §3First Join MOTD§b...");
                                                  for (String msg2 : plugin.getConfig().getStringList("FirstJoinMOTD.Message")) {
                                                    p.sendMessage(ChatColor.translateAlternateColorCodes('&', msg2));
                                                    p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 10, 1);
                                                   
                                                  }
                                                 
                                                }
                                               
                                              }
    This is the portion of the code that only sends the first line (This is the redone Commands.java class):

    Code (Text):
                        if (args.length == 1) {
                            if (args[0].equalsIgnoreCase("joinmotd")) {
                                if (sender instanceof Player) {
                                    Player p = (Player) sender;
                                        if (p.hasPermission("jep.command.joinmotd")) {
                                           
                                            p.sendMessage("§7[§b§lJOINEVENTSPRO§7] §bThe currently set §3Join MOTD§b...");
                                            for(String msg : plugin.getConfig().getStringList("JoinMOTD.Message")) {
                                               
                                                p.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
                                                p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 10, 1);
                                                return true;
                                               
                                            }
                                             
                                        } else {
                                           
                                            p.sendMessage("§7[§b§lJOINEVENTSPRO§7] §cYou do not have permission.");
                                            return true;
                                           
                                        }
                                       
                                } else {
                                   
                                   
                                    sender.sendMessage("§7[§b§lJOINEVENTSPRO§7] §bThe currently set §3Join MOTD§b...");
                                    for(String msg : plugin.getConfig().getStringList("JoinMOTD.Message")) {
                                       
                                        sender.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
                                        return true;
                                       
                                    }
                                       
                                }
                                   
                            }

                            if (args.length == 1) {
                                if (args[0].equalsIgnoreCase("firstjoinmotd")) {
                                    if (sender instanceof Player) {
                                        Player p = (Player) sender;
                                        if (p.hasPermission("jep.command.firstjoinmotd")) {
                                           
                                            p.sendMessage("§7[§b§lJOINEVENTSPRO§7] §bThe currently set §3First Join MOTD§b...");
                                            for(String msg2 : plugin.getConfig().getStringList("JoinMOTD.Message")) {
                                               
                                                p.sendMessage(ChatColor.translateAlternateColorCodes('&', msg2));
                                                p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 10, 1);
                                                return true;
                                               
                                            }
                                           
                                        } else {
                                           
                                            p.sendMessage("§7[§b§lJOINEVENTSPRO§7] §cYou do not have permission.");
                                            return true;
                                           
                                        }
                                       
                                    } else {
                                       
                                        sender.sendMessage("§7[§b§lJOINEVENTSPRO§7] §bThe currently set §3First Join MOTD§b...");
                                        for(String msg2 : plugin.getConfig().getStringList("FirstJoinMOTD.Message")) {
                                           
                                            sender.sendMessage(ChatColor.translateAlternateColorCodes('&', msg2));
                                            return true;
    Does anyone know what the problem could be?

    Thanks,
    - Cervinakuy
     
  2. What does the config looks like?

    [EDIT]
    Remove the return true from your loop in the second snippet.
     
    • Like Like x 1
  3. I removed the return true and it worked!

    Thanks for the help Ferdz <3.
     
    • Friendly Friendly x 2