How to get if the leather chestplate was colored and make it do something in the inventoryGUI D: Code:java package me.winitro.kits; import java.util.ArrayList;import java.util.List; import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.Color;import org.bukkit.Material;import org.bukkit.command.Command;import org.bukkit.command.CommandSender;import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.inventory.InventoryClickEvent;import org.bukkit.inventory.Inventory;import org.bukkit.inventory.ItemStack;import org.bukkit.inventory.meta.ItemMeta;import org.bukkit.inventory.meta.LeatherArmorMeta;import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener{ public static ArrayList<String> KeeperofThings = new ArrayList<>(); public void onEnable(){ getServer().getPluginManager().registerEvents(this, this); } public ItemStack dyeArmour(Material material, int r, int g, int b){ ItemStack armour = new ItemStack(material); LeatherArmorMeta lam = (LeatherArmorMeta) armour.getItemMeta(); lam.setColor(Color.fromRGB(r, g, b)); armour.setItemMeta(lam); return armour; } public ItemStack setMeta(ItemStack material, String name, List<String> lore) { if(((material == null) || material.getType() == Material.AIR) || (name == null && lore == null)) return null; ItemMeta im = material.getItemMeta(); if(name != null) im.setDisplayName(name); if(lore != null) im.setLore(lore); material.setItemMeta(im); return material; } private void openGUI(Player player) { Inventory inv = Bukkit.createInventory(null, 27, "" + ChatColor.DARK_BLUE + ChatColor.BOLD + "Mine" + ChatColor.DARK_AQUA + ChatColor.BOLD + "Spasm " + ChatColor.RED + ChatColor.BOLD + "kits"); ArrayList<String> lore = new ArrayList<String>(); ItemStack Hunter = dyeArmour(Material.LEATHER_CHESTPLATE, 211, 124, 0); ItemMeta HunterMeta = Hunter.getItemMeta(); ItemStack Warrior = dyeArmour(Material.LEATHER_CHESTPLATE, 175, 0, 0); ItemMeta WarriorMeta = Warrior.getItemMeta(); lore.add(ChatColor.GRAY + "1234"); WarriorMeta.setLore(lore); ItemStack ComingSoon = new ItemStack(Material.LAVA, 1); ItemMeta SoonMeta = ComingSoon.getItemMeta(); ItemStack Donor = new ItemStack(Material.STAINED_GLASS_PANE, 1); ItemMeta DonorMeta = ComingSoon.getItemMeta(); if(player.hasPermission("MinespasmKits.Hunter") || player.isOp()){ HunterMeta.setDisplayName(ChatColor.GOLD + "Hunter"); } if(player.hasPermission("MinespasmKits.Warrior") || player.isOp()){ WarriorMeta.setDisplayName(ChatColor.RED + "Warrior!"); } SoonMeta.setDisplayName(ChatColor.RED + "" + ChatColor.BOLD + "Coming Soon!"); DonorMeta.setDisplayName("§c§l<< §e§lNon-Donor | Donor §c§l>>"); Hunter.setItemMeta(HunterMeta); Warrior.setItemMeta(WarriorMeta); ComingSoon.setItemMeta(SoonMeta); Donor.setItemMeta(DonorMeta); inv.setItem(2, Hunter); inv.setItem(3, Warrior); inv.setItem(10, ComingSoon); inv.setItem(8, ComingSoon); inv.setItem(7, ComingSoon); inv.setItem(4, Donor); inv.setItem(13, Donor); inv.setItem(22, Donor); player.openInventory(inv); } @EventHandler public void onInventoryClick(InventoryClickEvent event) { Player player1 = (Player) event.getWhoClicked(); if (!ChatColor.stripColor(event.getInventory().getName()) .equalsIgnoreCase("Mine" + "Spasm " + "kits")) return; event.setCancelled(true); if (event.getCurrentItem() == null || event.getCurrentItem().getType() == Material.AIR || !event.getCurrentItem().hasItemMeta()) { player1.closeInventory(); return; }switch (event.getCurrentItem().getType()) {case LEATHER_CHESTPLATE: ArrayList<String> lore = new ArrayList<String>(); if(lore.contains(ChatColor.GRAY + "1234")){ player1.closeInventory(); player1.sendMessage("Warrior works!"); break; } } } public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { if(commandLabel.equalsIgnoreCase("Kit")){ Player player = (Player) sender; openGUI(player.getPlayer()); } return false; }}
winitro You want to check, if the chestplate has some color? Example: Code:java ItemStack chestplate = new ItemStack(Material.LEATHER_CHESTPLATE);LeatherArmorMeta meta = (LeatherArmorMeta) chestplate.getItemMeta(); if (meta.getColor() != null) { //Do something cool here.}
Halginzz , david123718 Well i'm trying to get if in the Inventory GUI if the Leather Chestplate is colored then the one with that color make do something such as Code:java if(Leather_Chestplate == 255, 0, 0){//do something} ^^^^^ Example of what i'm trying to do. bump? EDIT by Moderator: merged posts, please use the edit button instead of double posting.
I'll try it Color.equals? isn't a thing? EDIT by Moderator: merged posts, please use the edit button instead of double posting.