Code - Code (Text): package listeners; import ActionBarAPI.ActionBarAPI; import me.PCPSells.MaineT; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import stats.Stats; public class RightClickToken implements Listener { MaineT plugin; public RightClickToken(MaineT pl) { this.plugin = pl; } @EventHandler public void onPlayerInteract(PlayerInteractEvent e) { Player p = e.getPlayer(); ItemStack air = new ItemStack(Material.AIR); if (e.getItem().getType() == Material.getMaterial(plugin.getConfig().getString("tokens.TokenID")) && e.getItem().getItemMeta().equals(plugin.getConfig().getString("tokens.TokenName").replace("&", "§"))) { ActionBarAPI bar = new ActionBarAPI(p, plugin.getConfig().getString("ActionBarMsgs.Profit").replace("&", "§").replace("%prefix%", plugin.getConfig().getString("messages.Prefix").replace("&", "§")).replace("%amount%", "" + e.getPlayer().getItemInHand().getAmount())); bar.sendPlayerAnnouncement(); p.setItemInHand(air); p.updateInventory(); p.playSound(p.getLocation(), Sound.valueOf(plugin.getConfig().getString("sounds.Success")), 1.0F, 1.0F); Stats.addPoints(p, e.getPlayer().getItemInHand().getAmount()); return; }}} This would be a simple Item click event, but for Code (Text): if (e.getItem().getType() == Material.getMaterial(plugin.getConfig().getString("tokens.TokenID")) && e.getItem().getItemMeta().equals(plugin.getConfig().getString("tokens.TokenName").replace("&", "§"))) { It doesn't work when I add the ItemMeta... any ideas why?
Ohh yeah, that makes sense. Completely forgot you have to get the display name. Appreciate it. DERP <3
e.getItem().getItemMeta() returns ItemMeta, you're comparing it to a string. If you're looking for the name do e.getItem().getItemMeta().getName(). NINJA'D BY @NinjaStix But I also have another comment to make, you replaced & with the weird character thingy, but you don't need to do that (I don't think, but still easier). Just do: Code (Text): e.getItem().getItemMeta().getName().equals(ChatColor.translateAlternativeColorCodes('&',plugin.getConfig().getString("tokens.TokenName"))
ItemMeta isn't a string, so why are you comparing it with a string? I think ItemMeta.getDisplayName() is what you're looking for. Whoops little late reponse Question had been answered already, my bad.
Funny thing is, I did that, I had it get the Material and added Code (Text): && e.getItem().getItemMeta().getDisplayName() == plugin.getConfig().getString("tokens.TokenName").replace("&", "") and it doesn't work.. I remove that and it works again.. any idea why?