Check if any lure line is equal to a string

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

  1. I've been trying to figure out how to check whether any line in a string equals a certain string, and I so to do something. This seems simple, but I ca't find anything on line. The current code I am using doesn't seems to work when there are multiple lines of lures.
     
  2. Code (Text):
    for(String loreString : item.getItemMeta().getLore() {
       if(loreString.equalsIgnoreCase(your-string-here) {
          // Do something
       }
    }

    // You can also do this:
    if(item.getItemMeta().getLore().contains(your-string-here) {
       // Do something
    }
    Also remember to use ChatColor.translateAlternateColorCodes if your lore contains color.
     
  3. This doesn't seem to be working with my code. Here is my code (my item both has the Speed I and Mothers Arms II):
    Code (Text):
                    Player p = e.getPlayer();
                    String uuid = p.getUniqueId().toString();
                   
                    //SPEED 1
                    if (p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().getLore().contains(Arrays.asList(ChatColor.BLUE + "Speed I"))) {
                        p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 270000000, 1));
                       
                    }
                    //SPEED 2
                    if (p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().getLore().contains(Arrays.asList(ChatColor.BLUE + "Speed II"))) {
                        p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 270000000, 2));
                       
                    }
                    //SPEED 3
                    if (p.getInventory().getBoots() != null && p.getInventory().getBoots().getItemMeta().getLore().contains(Arrays.asList(ChatColor.BLUE + "Speed III"))) {
                        p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 270000000, 3));
                       
                    }
                    if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getType() == Material.DIAMOND_CHESTPLATE && p.getInventory().getChestplate().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms I"))) {
                        if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getType() == Material.DIAMOND_HELMET && p.getInventory().getHelmet().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms I"))) {
                            if (p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getType() == Material.DIAMOND_LEGGINGS && p.getInventory().getLeggings().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms I"))) {
                                if (p.getInventory().getBoots() != null && p.getInventory().getBoots().getType() == Material.DIAMOND_BOOTS && p.getInventory().getBoots().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms I"))) {
                                   
                                    p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 270000000, 0));
                                    p.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 270000000, 0));
                                   
                                } else {
                                    p.removePotionEffect(PotionEffectType.REGENERATION);
                                    p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                                   
                                }
                               
                            } else {
                                p.removePotionEffect(PotionEffectType.REGENERATION);
                                p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                            }
                           
                        } else {
                            p.removePotionEffect(PotionEffectType.REGENERATION);
                            p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                           
                        }
                       
                    } else {
                        p.removePotionEffect(PotionEffectType.REGENERATION);
                        p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                       
                    }
                   
                   
                    if(p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getType() == Material.DIAMOND_CHESTPLATE && p.getInventory().getChestplate().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms II"))) {
                        if(p.getInventory().getHelmet() != null && p.getInventory().getHelmet().getType() == Material.DIAMOND_HELMET && p.getInventory().getHelmet().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms II"))) {
                            if (p.getInventory().getLeggings() != null && p.getInventory().getLeggings().getType() == Material.DIAMOND_LEGGINGS && p.getInventory().getLeggings().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms II"))) {
                                if (p.getInventory().getBoots() != null && p.getInventory().getBoots().getType() == Material.DIAMOND_BOOTS && p.getInventory().getBoots().getItemMeta().getLore().contains(Arrays.asList(ChatColor.GOLD + "Mothers Arms II"))) {
                                   
                                    p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 270000000, 1));
                                    p.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 270000000, 1));
                                   
                                } else {
                                    p.removePotionEffect(PotionEffectType.REGENERATION);
                                    p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                                   
                                }
                               
                            } else {
                                p.removePotionEffect(PotionEffectType.REGENERATION);
                                p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                            }
                           
                        } else {
                            p.removePotionEffect(PotionEffectType.REGENERATION);
                            p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                           
                        }
                       
                    } else {
                        p.removePotionEffect(PotionEffectType.REGENERATION);
                        p.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
                       
                    }
                   
     
  4. You are doing Array.asList, meaning that if your boots are containing Blue: Speed II, then it will check if it contains [Blue: Speed II], notice the [ ], dont use array.aslist, just use a string.. This IS the case as I just checked it myself
     
    • Like Like x 1
  5. Thanks, this solved the issue!