Hai, So I am Trying To Make a GUI So if a Player Has A Permission IT sets a Certin Item, If They Dont It sets a Differnet Item, i've Tryed This if(sender.hasPermission("Test.Test")) { kinv.setItem(12, I1); } else { kinv.setItem(12, NOPERM); } kinv.setItem(14, I2); } IT Doesnt Work Here Is The Full Class: (WITHOUT IF(sender.hasPermission("Test.TEst") etc..) Code: package MagKits.Managers; import java.util.Arrays; import org.bukkit.Bukkit; import org.bukkit.ChatColor; 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; public class KitMenu implements Listener { private Inventory kinv; private ItemStack I1, I2, NOPERM; private KitMenu kitmenu; private DonorKitMenu dkmenu; CommandSender sender; Player p; Command cmd; public KitMenu() { kinv = Bukkit.getServer().createInventory(null, 27,(ChatColor.translateAlternateColorCodes('&', "&dMagenta Kits"))); I1 = ItemManager.createItem(Material.IRON_CHESTPLATE,ChatColor.AQUA + "Player-Kits", Arrays.asList( ChatColor.GRAY + "Click Me To Go To", ChatColor.GRAY + " The Player Kits")); NOPERM = ItemManager.createItem(Material.BEDROCK, ChatColor.RED + "Mo Access"); I2 = ItemManager.createItem(Material.DIAMOND_CHESTPLATE,ChatColor.GOLD + "Donor-Kits"); ItemMeta itemMeta = I2.getItemMeta(); Glow glow = new Glow(100); itemMeta.addEnchant(glow, 0, true); I2.setItemMeta(itemMeta); kinv.setItem(12, I1); kinv.setItem(14, I2); } public void show(Player p) { p.openInventory(kinv); } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if (!e.getInventory().getName().equalsIgnoreCase(kinv.getName())) return; if (e.getCurrentItem().getItemMeta() == null) return; if ((e.getCurrentItem() != null) && (!e.getCurrentItem().getType().equals(Material.AIR))){ if (e.getInventory().getName().equalsIgnoreCase(kinv.getName())); e.setCancelled(true); } if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Player-Kits")) { e.setCancelled(true); Player p = (Player) e.getWhoClicked(); e.getWhoClicked().closeInventory(); p.performCommand("pkit"); } if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Donor-Kits")) { e.setCancelled(true); Player p = (Player) e.getWhoClicked(); dkmenu = new DonorKitMenu(); dkmenu.show(p); } } }
Code: package MagKits.Managers; import java.util.Arrays; import org.bukkit.Bukkit; import org.bukkit.ChatColor; 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; public class KitMenu implements Listener { private Inventory kinv; private ItemStack I1, I2, NOPERM; private KitMenu kitmenu; private DonorKitMenu dkmenu; CommandSender sender; Player p; Command cmd; public KitMenu() { kinv = Bukkit.getServer().createInventory(null, 27,(ChatColor.translateAlternateColorCodes('&', "&dMagenta Kits"))); I1 = ItemManager.createItem(Material.IRON_CHESTPLATE,ChatColor.AQUA + "Player-Kits", Arrays.asList( ChatColor.GRAY + "Click Me To Go To", ChatColor.GRAY + " The Player Kits")); NOPERM = ItemManager.createItem(Material.BEDROCK, ChatColor.RED + "Mo Access"); I2 = ItemManager.createItem(Material.DIAMOND_CHESTPLATE,ChatColor.GOLD + "Donor-Kits"); ItemMeta itemMeta = I2.getItemMeta(); Glow glow = new Glow(100); itemMeta.addEnchant(glow, 0, true); I2.setItemMeta(itemMeta); kinv.setItem(12, I1); kinv.setItem(14, I2); } public void show(Player p) { p.openInventory(kinv); } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if (!e.getInventory().getName().equalsIgnoreCase(kinv.getName())) return; if (e.getCurrentItem().getItemMeta() == null) return; if ((e.getCurrentItem() != null) && (!e.getCurrentItem().getType().equals(Material.AIR))){ if (e.getInventory().getName().equalsIgnoreCase(kinv.getName())); e.setCancelled(true); } if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Player-Kits")) { e.setCancelled(true); Player p = (Player) e.getWhoClicked(); e.getWhoClicked().closeInventory(); p.performCommand("pkit"); } if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Donor-Kits")) { e.setCancelled(true); Player p = (Player) e.getWhoClicked(); dkmenu = new DonorKitMenu(); dkmenu.show(p); } } } Code: if(sender.hasPermission("Test.Test")) { kinv.setItem(12, I1); } else { kinv.setItem(12, NOPERM); } kinv.setItem(14, I2); }
There are none... In my code if I leave it how it is, it workups fine, it opens too but when I add the other code in,there are no syntax errors but the GUI won't open
@xXkguyXx A few notes: Naming convention, please fix it. What are those doing there? also dont store Player objects long term, or at least on disconnect remove them. First check if the getCurrentItem returns null and then if the getCurrentItem().getItemMeta(). What is that supose to do? Use if else if else statements instead of just if to make your code efficient. if that isnt a croped piece of code then you need to consider fixing your syntax as @SuperOriginal has been telling you. Lastly about the not opening gui, have you debuged at all?