Solved Why will this code not work to set display names?

Discussion in 'Plugin Development' started by MayoDwarf, Nov 1, 2013.

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

    MayoDwarf

    Code:java
    1. if(cmd.getName().equalsIgnoreCase("godpvp")) {
    2. Player p = (Player) sender;
    3. if(p.hasPermission("jOP.use.godpvp")) {
    4. Inventory inv = Bukkit.createInventory(p, 9);
    5. ItemStack standard = new ItemStack(Material.WOOL);
    6. ItemStack daily = new ItemStack(Material.WOOL, 1, (short) 1);
    7. ItemStack weekly = new ItemStack(Material.WOOL, 1, (short) 2);
    8. ItemStack legend = new ItemStack(Material.WOOL, 1, (short) 3);
    9. ItemStack knight = new ItemStack(Material.WOOL, 1, (short) 4);
    10. ItemStack platinum = new ItemStack(Material.WOOL, 1, (short) 5);
    11. ItemStack god = new ItemStack(Material.WOOL, 1, (short) 6);
    12. ItemStack elite = new ItemStack(Material.WOOL, 1, (short) 7);
    13. ItemStack overlord = new ItemStack(Material.WOOL, 1, (short) 8);
    14.  
    15. standard.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 4);
    16. standard.getItemMeta().setDisplayName(ChatColor.GOLD + "Standard");
    17.  
    18. daily.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 5);
    19. daily.getItemMeta().setDisplayName(ChatColor.GOLD + "Daily");
    20.  
    21. weekly.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 5);
    22. weekly.getItemMeta().setDisplayName(ChatColor.GOLD + "Weekly");
    23.  
    24. legend.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 5);
    25. legend.getItemMeta().setDisplayName(ChatColor.GOLD + "Legend");
    26.  
    27. knight.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 6);
    28. knight.getItemMeta().setDisplayName(ChatColor.GOLD + "Knight");
    29.  
    30. platinum.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 8);
    31. platinum.getItemMeta().setDisplayName(ChatColor.GOLD + "Platinum");
    32.  
    33. god.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 9);
    34. god.getItemMeta().setDisplayName(ChatColor.GOLD + "God");
    35.  
    36. elite.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 10);
    37. elite.getItemMeta().setDisplayName(ChatColor.GOLD + "Elite");
    38.  
    39. overlord.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 10);
    40. overlord.getItemMeta().setDisplayName(ChatColor.GOLD + "Overlord");
    41.  
    42. inv.addItem(standard);
    43. inv.addItem(daily);
    44. inv.addItem(weekly);
    45. inv.addItem(legend);
    46. inv.addItem(knight);
    47. inv.addItem(platinum);
    48. inv.addItem(god);
    49. inv.addItem(elite);
    50. inv.addItem(overlord);
    51. p.openInventory(inv);
    52. }
    53. }
     
  2. Offline

    boboman13

    As far as I know, you need to assign getItemMeta() to a variable, set the display name from there, then set the item's meta to the previous variable. MayoDwarf
     
  3. Offline

    MayoDwarf

    Example please?
     
  4. What you're doing is getting it, then changing it. which does nothing.

    you have to get item meta by doing
    ItemMeta standardMeta = standard.getItemMeta()
    standardMeta.setDisplayName("stuff");
    standard.setItemMeta(standardMeta);
     
Thread Status:
Not open for further replies.

Share This Page