Solved Colour Codes w/ StringList (Config)

Discussion in 'Plugin Development' started by BaconStripzMan, Feb 26, 2015.

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

    BaconStripzMan

    I need to use colour codes with StringLists in my config.

    code:
    Code:java
    1.  
    2. serverselector = Bukkit.createInventory(null, 9, "Server Selector");
    3. ItemStack item1 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item1.item").toUpperCase()), 1);
    4. ItemMeta item1m = item1.getItemMeta();
    5. item1m.setDisplayName(this.getConfig().getString("server-selector.item1.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    6. item1m.setLore(this.getConfig().getStringList("server-selector.item1.lore"));
    7. item1.setItemMeta(item1m);
    8.  
    9. ItemStack item2 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item2.item").toUpperCase()), 1);
    10. ItemMeta item2m = item2.getItemMeta();
    11. item2m.setDisplayName(this.getConfig().getString("server-selector.item2.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    12. item2m.setLore(this.getConfig().getStringList("server-selector.item2.lore"));
    13. item2.setItemMeta(item2m);
    14.  
    15. ItemStack item3 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item3.item").toUpperCase()), 1);
    16. ItemMeta item3m = item3.getItemMeta();
    17. item3m.setDisplayName(this.getConfig().getString("server-selector.item3.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    18. item3m.setLore(this.getConfig().getStringList("server-selector.item3.lore"));
    19. item3.setItemMeta(item3m);
    20.  
    21. ItemStack item4 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item4.item").toUpperCase()), 1);
    22. ItemMeta item4m = item4.getItemMeta();
    23. item4m.setDisplayName(this.getConfig().getString("server-selector.item4.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    24. item4m.setLore(this.getConfig().getStringList("server-selector.item4.lore"));
    25. item4.setItemMeta(item4m);
    26.  
    27. ItemStack item5 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item5.item").toUpperCase()), 1);
    28. ItemMeta item5m = item5.getItemMeta();
    29. item5m.setDisplayName(this.getConfig().getString("server-selector.item5.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    30. item5m.setLore(this.getConfig().getStringList("server-selector.item5.lore"));
    31. item5.setItemMeta(item5m);
    32.  
    33. ItemStack item6 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item6.item").toUpperCase()), 1);
    34. ItemMeta item6m = item6.getItemMeta();
    35. item6m.setDisplayName(this.getConfig().getString("server-selector.item6.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    36. item6m.setLore(this.getConfig().getStringList("server-selector.item6.lore"));
    37. item6.setItemMeta(item6m);
    38.  
    39. ItemStack item7 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item7.item").toUpperCase()), 1);
    40. ItemMeta item7m = item7.getItemMeta();
    41. item7m.setDisplayName(this.getConfig().getString("server-selector.item7.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    42. item7m.setLore(this.getConfig().getStringList("server-selector.item7.lore"));
    43. item7.setItemMeta(item7m);
    44.  
    45. ItemStack item8 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item8.item").toUpperCase()), 1);
    46. ItemMeta item8m = item8.getItemMeta();
    47. item8m.setDisplayName(this.getConfig().getString("server-selector.item8.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    48. item8m.setLore(this.getConfig().getStringList("server-selector.item8.lore"));
    49. item8.setItemMeta(item8m);
    50.  
    51. ItemStack item9 = new ItemStack(Material.valueOf(this.getConfig().getString("server-selector.item9.item").toUpperCase()), 1);
    52. ItemMeta item9m = item9.getItemMeta();
    53. item9m.setDisplayName(this.getConfig().getString("server-selector.item9.name").replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    54. item9m.setLore(this.getConfig().getStringList("server-selector.item9.lore"));
    55. item9.setItemMeta(item9m);


    upload_2015-2-26_19-21-48.png
     
  2. put color codes in config like "&4Server"
     
  3. Offline

    nlthijs48

    @BaconStripzMan You also need to translate the color codes of the lore to the correct ones. With the names of the items you already used '.replaceAll("(&([a-fk-o0-9]))", "\u00A7$2")' to translate the color codes, you can also add that to the lore string.

    An even better way that also supports things like bold and italic is using the 'ChatColor.translateAlternateColorCodes('&', <your string>)'.
     
    The Fancy Whale likes this.
  4. Offline

    BaconStripzMan

    Trying that now

    Woops! Didn't even realise I wasn't changing the Color Codes but there is no replaceAll method for Lists

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 13, 2016
  5. Offline

    Ruptur

    @BaconStripzMan
    Thats inefficient, try for use a loop to get the items etc from the config
     
  6. Offline

    BaconStripzMan

    Don't worry, figured it out. For anyone that's interested:
    Code:java
    1.  
    2. ArrayList<String> lore1 = new ArrayList<String>();
    3. Inventory serverselector = Bukkit.createInventory(null, 9, "woop");
    4. {
    5. for(String lorelist : getConfig().getStringList("server-selector.1.lore")){
    6. lore1.add(lorelist.replaceAll("(&([a-fk-o0-9]))", "\u00A7$2"));
    7. }
     
  7. Offline

    1Rogue

    Pro-tip: ItemStacks are ConfigurationSerializable
     
Thread Status:
Not open for further replies.

Share This Page