Помогите NullPointerExecption

sasha2003

Активный участник
Пользователь
Баллы
76
Донат меню.
При клике на предмет не открывается другое меню!
Появляется NullPointerExecption!
Все ItemStack`и есть!

Код:
this.inv = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Магазин");
            this.inv.setItem(0, boosterbttn);
            this.inv.setItem(1, itemsbttn);
            this.inv.setItem(2, specialbttn);
          
            this.inv2 = Bukkit.getServer().createInventory(null, 9, ChatColor.GOLD + "Бустеры");
            this.inv2.setItem(0, boostermoneyloc);
            this.inv2.setItem(1, boostermoneyglobal);
          
            this.inv3 = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Предметы");
            this.inv3.setItem(0, dust);
            this.inv3.setItem(1, star);
            this.inv3.setItem(2, tenkeys);
            this.inv3.setItem(3, fiftykeys);
          
            this.inv4 = Bukkit.getServer().createInventory(null, 9, ChatColor.AQUA + "Специальное");
            this.inv4.setItem(0, autosell);
            this.inv4.setItem(1, toilet);
          
            p.openInventory(this.inv);
            return true;
        }
        return true;
    }
  
    @EventHandler
    public void onInventoryClick(InventoryClickEvent e) {
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Магазин")) {
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            Player p = (Player)e.getWhoClicked();
            e.setCancelled(true);
            if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
                p.openInventory(inv2);
            }
          
            if (e.getCurrentItem().getType().equals(Material.DIAMOND)) {
                p.openInventory(inv3);
            }
          
            if (e.getCurrentItem().getType().equals(Material.EMERALD)) {
                p.openInventory(inv4);
            }
        }
 
Код:
public class Donate implements CommandExecutor, Listener {
   
    private Inventory inv;
    private Inventory inv2;
    private Inventory inv3;
    private Inventory inv4;
   
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        Player p = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("donate")) {
            ItemStack boosterbttn = new ItemStack(Material.GOLD_INGOT);
            ItemMeta boosterbttnMeta = boosterbttn.getItemMeta();
            boosterbttnMeta.setDisplayName("§6§lБустеры");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoosterbttn = new ArrayList();
            loreBoosterbttn.add("§7§lНажмите, чтобы открыть меню покупки бустеров.");
            boosterbttnMeta.setLore(loreBoosterbttn);
            boosterbttn.setItemMeta(boosterbttnMeta);
           
            ItemStack itemsbttn = new ItemStack(Material.DIAMOND);
            ItemMeta itemsbttnMeta = itemsbttn.getItemMeta();
            itemsbttnMeta.setDisplayName("§a§lПредметы");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreItemsbttn = new ArrayList();
            loreItemsbttn.add("§7§lНажмите, чтобы открыть меню покупки предметов.");
            itemsbttnMeta.setLore(loreItemsbttn);
            itemsbttn.setItemMeta(itemsbttnMeta);
           
            ItemStack specialbttn = new ItemStack(Material.EMERALD);
            ItemMeta specialbttnMeta = specialbttn.getItemMeta();
            specialbttnMeta.setDisplayName("§b§lСпециальное");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreSpecialbttn = new ArrayList();
            loreSpecialbttn.add("§7§lНажмите, чтобы открыть меню покупки специальных услуг.");
            specialbttnMeta.setLore(loreSpecialbttn);
            specialbttn.setItemMeta(specialbttnMeta);
           
            ItemStack boostermoneyloc = new ItemStack(Material.GOLD_INGOT);
            ItemMeta boostermoneylocMeta = boostermoneyloc.getItemMeta();
            boosterbttnMeta.setDisplayName("§a§lБустер денег.");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoostermoneyloc = new ArrayList();
            loreBoostermoneyloc.add("§7§lТип: Локальный");
            loreBoostermoneyloc.add("§7§lМножитель: x2.0");
            loreBoostermoneyloc.add("§7§lДлительность: 40 минут");
            loreBoostermoneyloc.add("§7§lЦена: 39");
            loreBoostermoneyloc.add("§c§lНажмите, чтобы купить");
            boostermoneylocMeta.setLore(loreBoostermoneyloc);
            boostermoneyloc.setItemMeta(boostermoneylocMeta);
           
            ItemStack boostermoneyglobal = new ItemStack(Material.GOLD_BLOCK);
            ItemMeta boostermoneyglobalMeta = boostermoneyglobal.getItemMeta();
            boostermoneyglobalMeta.setDisplayName("§a§lБустер денег.");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoostermoneyglobal = new ArrayList();
            loreBoostermoneyglobal.add("§7§lТип: Глобальный");
            loreBoostermoneyglobal.add("§7§lМножитель: x2.0");
            loreBoostermoneyglobal.add("§7§lДлительность: 30 минут");
            loreBoostermoneyglobal.add("§7§lЦена: 59");
            loreBoostermoneyglobal.add("§c§lНажмите, чтобы купить");
            boostermoneyglobalMeta.setLore(loreBoostermoneyglobal);
            boostermoneyglobal.setItemMeta(boostermoneyglobalMeta);
           
            ItemStack dust = new ItemStack(Material.GLOWSTONE_DUST);
            ItemMeta dustMeta = dust.getItemMeta();
            dustMeta.setDisplayName("§aМагическая пыль");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreDust = new ArrayList();
            loreDust.add("§7§lУвеличивает шанс наложения зачарования на 100%");
            loreDust.add("§7§lЦена: 69");
            loreDust.add("§c§lНажмите, чтобы купить");
            dustMeta.setLore(loreDust);
            dust.setItemMeta(dustMeta);
           
            ItemStack star = new ItemStack(Material.NETHER_STAR);
            ItemMeta starMeta = star.getItemMeta();
            starMeta.setDisplayName("§6§lЗвезда");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreStar = new ArrayList();
            loreStar.add("§7§lКоличество: 1 штука");
            loreStar.add("§7§lЦена: 14");
            loreStar.add("§c§lНажмите, чтобы купить");
            starMeta.setLore(loreStar);
            star.setItemMeta(starMeta);
           
            ItemStack tenkeys = new ItemStack(Material.GHAST_TEAR);
            ItemMeta tenkeysMeta = tenkeys.getItemMeta();
            tenkeysMeta.setDisplayName("§aКлюч");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreTenkeys = new ArrayList();
            loreTenkeys.add("§7§lКоличество: 10 штук");
            loreTenkeys.add("§7§lЦена: 49");
            loreTenkeys.add("§c§lНажмите, чтобы купить");
            tenkeysMeta.setLore(loreTenkeys);
            tenkeys.setItemMeta(tenkeysMeta);
           
            ItemStack fiftykeys = new ItemStack(Material.GHAST_TEAR);
            ItemMeta fiftykeysMeta = fiftykeys.getItemMeta();
            fiftykeysMeta.setDisplayName("§aКлюч");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreFiftykeys = new ArrayList();
            loreFiftykeys.add("§7§lКоличество: 50 штук");
            loreFiftykeys.add("§7§lЦена: 139");
            loreFiftykeys.add("§c§lНажмите, чтобы купить");
            fiftykeysMeta.setLore(loreFiftykeys);
            fiftykeys.setItemMeta(fiftykeysMeta);
           
            ItemStack autosell = new ItemStack(Material.DIAMOND);
            ItemMeta autosellMeta = autosell.getItemMeta();
            autosellMeta.setDisplayName("§bАвтоПродажа");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreAutosell = new ArrayList();
            loreAutosell.add(" ");
            loreAutosell.add("§7§lЦена: 259");
            loreAutosell.add("§c§lНажмите, чтобы купить");
            autosellMeta.setLore(loreAutosell);
            autosell.setItemMeta(autosellMeta);
           
            ItemStack toilet = new ItemStack(Material.TRIPWIRE_HOOK);
            ItemMeta toiletMeta = toilet.getItemMeta();
            toiletMeta.setDisplayName("§6Отключение потребностей");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreToilet = new ArrayList();
            loreToilet.add(" ");
            loreToilet.add("§7§lЦена: 99");
            loreToilet.add("§c§lНажмите, чтобы купить");
            toiletMeta.setLore(loreToilet);
            toilet.setItemMeta(toiletMeta);
           
            this.inv = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Магазин");
            this.inv.setItem(0, boosterbttn);
            this.inv.setItem(1, itemsbttn);
            this.inv.setItem(2, specialbttn);
           
            this.inv2 = Bukkit.getServer().createInventory(null, 9, ChatColor.GOLD + "Бустеры");
            this.inv2.setItem(0, boostermoneyloc);
            this.inv2.setItem(1, boostermoneyglobal);
           
            this.inv3 = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Предметы");
            this.inv3.setItem(0, dust);
            this.inv3.setItem(1, star);
            this.inv3.setItem(2, tenkeys);
            this.inv3.setItem(3, fiftykeys);
           
            this.inv4 = Bukkit.getServer().createInventory(null, 9, ChatColor.AQUA + "Специальное");
            this.inv4.setItem(0, autosell);
            this.inv4.setItem(1, toilet);
           
            p.openInventory(this.inv);
            return true;
        }
        return true;
    }
   
    @EventHandler
    public void onInventoryClick(InventoryClickEvent e) {
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Магазин")) {
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            Player p = (Player)e.getWhoClicked();
            e.setCancelled(true);
            if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
                p.openInventory(inv2);
            }
           
            if (e.getCurrentItem().getType().equals(Material.DIAMOND)) {
                p.openInventory(inv3);
            }
           
            if (e.getCurrentItem().getType().equals(Material.EMERALD)) {
                p.openInventory(inv4);
            }
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GOLD + "Бустеры")) {
            Player p = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
           
            if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
           
            if (e.getCurrentItem().getType().equals(Material.GOLD_BLOCK)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Предметы")) {
            Player p = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
           
            if (e.getCurrentItem().getType().equals(Material.GLOWSTONE_DUST)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
            if (e.getCurrentItem().getType().equals(Material.NETHER_STAR)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
            if (e.getCurrentItem().getType().equals(Material.GHAST_TEAR)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.AQUA + "Специальное")) {
            Player p1 = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
           
            if (e.getCurrentItem().getType().equals(Material.DIAMOND)) {
                p1.sendMessage("§6§l[]");
                p1.closeInventory();
            }
           
            if (e.getCurrentItem().getType().equals(Material.TRIPWIRE_HOOK)) {
                p1.sendMessage("§6§l[]");
                p1.closeInventory();
            }
        }
        }
    }
}
 
Java:
package Example;

import java.util.List;

import org.bukkit.Bukkit;
import org.*********ventory.Inventory;
import org.*********ventory.InventoryHolder;
import org.*********ventory.ItemStack;
public class Menu implements InventoryHolder {

    private Inventory inventory;

    public Menu(List<ItemStack> stack, String title) {
        this.inventory = Bukkit.createInventory(this, 9*(int)Math.ceil((double)stack.size()/9), title);
        for(int i = 0; i<stack.size(); i++) {
            inventory.setItem(i, stack.get(i));
        }
    }
    @Override
    public Inventory getInventory() {
        return this.inventory;
    }
}
Java:
        Player p = e.getWhoClicked();//Наш лузверь.
        List<ItemStack> stack;//Импровезед стак лист.
        Menu menu = new Menu(stack, "Магазин");
        p.openInventory(menu.getInventory());//Открыть чест.
 
Код:
public class Donate implements CommandExecutor, Listener {
  
    private Inventory inv;
    private Inventory inv2;
    private Inventory inv3;
    private Inventory inv4;
  
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        Player p = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("donate")) {
            ItemStack boosterbttn = new ItemStack(Material.GOLD_INGOT);
            ItemMeta boosterbttnMeta = boosterbttn.getItemMeta();
            boosterbttnMeta.setDisplayName("§6§lБустеры");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoosterbttn = new ArrayList();
            loreBoosterbttn.add("§7§lНажмите, чтобы открыть меню покупки бустеров.");
            boosterbttnMeta.setLore(loreBoosterbttn);
            boosterbttn.setItemMeta(boosterbttnMeta);
          
            ItemStack itemsbttn = new ItemStack(Material.DIAMOND);
            ItemMeta itemsbttnMeta = itemsbttn.getItemMeta();
            itemsbttnMeta.setDisplayName("§a§lПредметы");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreItemsbttn = new ArrayList();
            loreItemsbttn.add("§7§lНажмите, чтобы открыть меню покупки предметов.");
            itemsbttnMeta.setLore(loreItemsbttn);
            itemsbttn.setItemMeta(itemsbttnMeta);
          
            ItemStack specialbttn = new ItemStack(Material.EMERALD);
            ItemMeta specialbttnMeta = specialbttn.getItemMeta();
            specialbttnMeta.setDisplayName("§b§lСпециальное");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreSpecialbttn = new ArrayList();
            loreSpecialbttn.add("§7§lНажмите, чтобы открыть меню покупки специальных услуг.");
            specialbttnMeta.setLore(loreSpecialbttn);
            specialbttn.setItemMeta(specialbttnMeta);
          
            ItemStack boostermoneyloc = new ItemStack(Material.GOLD_INGOT);
            ItemMeta boostermoneylocMeta = boostermoneyloc.getItemMeta();
            boosterbttnMeta.setDisplayName("§a§lБустер денег.");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoostermoneyloc = new ArrayList();
            loreBoostermoneyloc.add("§7§lТип: Локальный");
            loreBoostermoneyloc.add("§7§lМножитель: x2.0");
            loreBoostermoneyloc.add("§7§lДлительность: 40 минут");
            loreBoostermoneyloc.add("§7§lЦена: 39");
            loreBoostermoneyloc.add("§c§lНажмите, чтобы купить");
            boostermoneylocMeta.setLore(loreBoostermoneyloc);
            boostermoneyloc.setItemMeta(boostermoneylocMeta);
          
            ItemStack boostermoneyglobal = new ItemStack(Material.GOLD_BLOCK);
            ItemMeta boostermoneyglobalMeta = boostermoneyglobal.getItemMeta();
            boostermoneyglobalMeta.setDisplayName("§a§lБустер денег.");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoostermoneyglobal = new ArrayList();
            loreBoostermoneyglobal.add("§7§lТип: Глобальный");
            loreBoostermoneyglobal.add("§7§lМножитель: x2.0");
            loreBoostermoneyglobal.add("§7§lДлительность: 30 минут");
            loreBoostermoneyglobal.add("§7§lЦена: 59");
            loreBoostermoneyglobal.add("§c§lНажмите, чтобы купить");
            boostermoneyglobalMeta.setLore(loreBoostermoneyglobal);
            boostermoneyglobal.setItemMeta(boostermoneyglobalMeta);
          
            ItemStack dust = new ItemStack(Material.GLOWSTONE_DUST);
            ItemMeta dustMeta = dust.getItemMeta();
            dustMeta.setDisplayName("§aМагическая пыль");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreDust = new ArrayList();
            loreDust.add("§7§lУвеличивает шанс наложения зачарования на 100%");
            loreDust.add("§7§lЦена: 69");
            loreDust.add("§c§lНажмите, чтобы купить");
            dustMeta.setLore(loreDust);
            dust.setItemMeta(dustMeta);
          
            ItemStack star = new ItemStack(Material.NETHER_STAR);
            ItemMeta starMeta = star.getItemMeta();
            starMeta.setDisplayName("§6§lЗвезда");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreStar = new ArrayList();
            loreStar.add("§7§lКоличество: 1 штука");
            loreStar.add("§7§lЦена: 14");
            loreStar.add("§c§lНажмите, чтобы купить");
            starMeta.setLore(loreStar);
            star.setItemMeta(starMeta);
          
            ItemStack tenkeys = new ItemStack(Material.GHAST_TEAR);
            ItemMeta tenkeysMeta = tenkeys.getItemMeta();
            tenkeysMeta.setDisplayName("§aКлюч");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreTenkeys = new ArrayList();
            loreTenkeys.add("§7§lКоличество: 10 штук");
            loreTenkeys.add("§7§lЦена: 49");
            loreTenkeys.add("§c§lНажмите, чтобы купить");
            tenkeysMeta.setLore(loreTenkeys);
            tenkeys.setItemMeta(tenkeysMeta);
          
            ItemStack fiftykeys = new ItemStack(Material.GHAST_TEAR);
            ItemMeta fiftykeysMeta = fiftykeys.getItemMeta();
            fiftykeysMeta.setDisplayName("§aКлюч");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreFiftykeys = new ArrayList();
            loreFiftykeys.add("§7§lКоличество: 50 штук");
            loreFiftykeys.add("§7§lЦена: 139");
            loreFiftykeys.add("§c§lНажмите, чтобы купить");
            fiftykeysMeta.setLore(loreFiftykeys);
            fiftykeys.setItemMeta(fiftykeysMeta);
          
            ItemStack autosell = new ItemStack(Material.DIAMOND);
            ItemMeta autosellMeta = autosell.getItemMeta();
            autosellMeta.setDisplayName("§bАвтоПродажа");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreAutosell = new ArrayList();
            loreAutosell.add(" ");
            loreAutosell.add("§7§lЦена: 259");
            loreAutosell.add("§c§lНажмите, чтобы купить");
            autosellMeta.setLore(loreAutosell);
            autosell.setItemMeta(autosellMeta);
          
            ItemStack toilet = new ItemStack(Material.TRIPWIRE_HOOK);
            ItemMeta toiletMeta = toilet.getItemMeta();
            toiletMeta.setDisplayName("§6Отключение потребностей");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreToilet = new ArrayList();
            loreToilet.add(" ");
            loreToilet.add("§7§lЦена: 99");
            loreToilet.add("§c§lНажмите, чтобы купить");
            toiletMeta.setLore(loreToilet);
            toilet.setItemMeta(toiletMeta);
          
            this.inv = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Магазин");
            this.inv.setItem(0, boosterbttn);
            this.inv.setItem(1, itemsbttn);
            this.inv.setItem(2, specialbttn);
          
            this.inv2 = Bukkit.getServer().createInventory(null, 9, ChatColor.GOLD + "Бустеры");
            this.inv2.setItem(0, boostermoneyloc);
            this.inv2.setItem(1, boostermoneyglobal);
          
            this.inv3 = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Предметы");
            this.inv3.setItem(0, dust);
            this.inv3.setItem(1, star);
            this.inv3.setItem(2, tenkeys);
            this.inv3.setItem(3, fiftykeys);
          
            this.inv4 = Bukkit.getServer().createInventory(null, 9, ChatColor.AQUA + "Специальное");
            this.inv4.setItem(0, autosell);
            this.inv4.setItem(1, toilet);
          
            p.openInventory(this.inv);
            return true;
        }
        return true;
    }
  
    @EventHandler
    public void onInventoryClick(InventoryClickEvent e) {
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Магазин")) {
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            Player p = (Player)e.getWhoClicked();
            e.setCancelled(true);
            if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
                p.openInventory(inv2);
            }
          
            if (e.getCurrentItem().getType().equals(Material.DIAMOND)) {
                p.openInventory(inv3);
            }
          
            if (e.getCurrentItem().getType().equals(Material.EMERALD)) {
                p.openInventory(inv4);
            }
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GOLD + "Бустеры")) {
            Player p = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
          
            if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
          
            if (e.getCurrentItem().getType().equals(Material.GOLD_BLOCK)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Предметы")) {
            Player p = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
          
            if (e.getCurrentItem().getType().equals(Material.GLOWSTONE_DUST)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
            if (e.getCurrentItem().getType().equals(Material.NETHER_STAR)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
            if (e.getCurrentItem().getType().equals(Material.GHAST_TEAR)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.AQUA + "Специальное")) {
            Player p1 = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
          
            if (e.getCurrentItem().getType().equals(Material.DIAMOND)) {
                p1.sendMessage("§6§l[]");
                p1.closeInventory();
            }
          
            if (e.getCurrentItem().getType().equals(Material.TRIPWIRE_HOOK)) {
                p1.sendMessage("§6§l[]");
                p1.closeInventory();
            }
        }
        }
    }
}
А вот сейчас я орнул...
 
Код:
public class Donate implements CommandExecutor, Listener {
  
    private Inventory inv;
    private Inventory inv2;
    private Inventory inv3;
    private Inventory inv4;
  
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        Player p = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("donate")) {
            ItemStack boosterbttn = new ItemStack(Material.GOLD_INGOT);
            ItemMeta boosterbttnMeta = boosterbttn.getItemMeta();
            boosterbttnMeta.setDisplayName("§6§lБустеры");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoosterbttn = new ArrayList();
            loreBoosterbttn.add("§7§lНажмите, чтобы открыть меню покупки бустеров.");
            boosterbttnMeta.setLore(loreBoosterbttn);
            boosterbttn.setItemMeta(boosterbttnMeta);
          
            ItemStack itemsbttn = new ItemStack(Material.DIAMOND);
            ItemMeta itemsbttnMeta = itemsbttn.getItemMeta();
            itemsbttnMeta.setDisplayName("§a§lПредметы");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreItemsbttn = new ArrayList();
            loreItemsbttn.add("§7§lНажмите, чтобы открыть меню покупки предметов.");
            itemsbttnMeta.setLore(loreItemsbttn);
            itemsbttn.setItemMeta(itemsbttnMeta);
          
            ItemStack specialbttn = new ItemStack(Material.EMERALD);
            ItemMeta specialbttnMeta = specialbttn.getItemMeta();
            specialbttnMeta.setDisplayName("§b§lСпециальное");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreSpecialbttn = new ArrayList();
            loreSpecialbttn.add("§7§lНажмите, чтобы открыть меню покупки специальных услуг.");
            specialbttnMeta.setLore(loreSpecialbttn);
            specialbttn.setItemMeta(specialbttnMeta);
          
            ItemStack boostermoneyloc = new ItemStack(Material.GOLD_INGOT);
            ItemMeta boostermoneylocMeta = boostermoneyloc.getItemMeta();
            boosterbttnMeta.setDisplayName("§a§lБустер денег.");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoostermoneyloc = new ArrayList();
            loreBoostermoneyloc.add("§7§lТип: Локальный");
            loreBoostermoneyloc.add("§7§lМножитель: x2.0");
            loreBoostermoneyloc.add("§7§lДлительность: 40 минут");
            loreBoostermoneyloc.add("§7§lЦена: 39");
            loreBoostermoneyloc.add("§c§lНажмите, чтобы купить");
            boostermoneylocMeta.setLore(loreBoostermoneyloc);
            boostermoneyloc.setItemMeta(boostermoneylocMeta);
          
            ItemStack boostermoneyglobal = new ItemStack(Material.GOLD_BLOCK);
            ItemMeta boostermoneyglobalMeta = boostermoneyglobal.getItemMeta();
            boostermoneyglobalMeta.setDisplayName("§a§lБустер денег.");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreBoostermoneyglobal = new ArrayList();
            loreBoostermoneyglobal.add("§7§lТип: Глобальный");
            loreBoostermoneyglobal.add("§7§lМножитель: x2.0");
            loreBoostermoneyglobal.add("§7§lДлительность: 30 минут");
            loreBoostermoneyglobal.add("§7§lЦена: 59");
            loreBoostermoneyglobal.add("§c§lНажмите, чтобы купить");
            boostermoneyglobalMeta.setLore(loreBoostermoneyglobal);
            boostermoneyglobal.setItemMeta(boostermoneyglobalMeta);
          
            ItemStack dust = new ItemStack(Material.GLOWSTONE_DUST);
            ItemMeta dustMeta = dust.getItemMeta();
            dustMeta.setDisplayName("§aМагическая пыль");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreDust = new ArrayList();
            loreDust.add("§7§lУвеличивает шанс наложения зачарования на 100%");
            loreDust.add("§7§lЦена: 69");
            loreDust.add("§c§lНажмите, чтобы купить");
            dustMeta.setLore(loreDust);
            dust.setItemMeta(dustMeta);
          
            ItemStack star = new ItemStack(Material.NETHER_STAR);
            ItemMeta starMeta = star.getItemMeta();
            starMeta.setDisplayName("§6§lЗвезда");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreStar = new ArrayList();
            loreStar.add("§7§lКоличество: 1 штука");
            loreStar.add("§7§lЦена: 14");
            loreStar.add("§c§lНажмите, чтобы купить");
            starMeta.setLore(loreStar);
            star.setItemMeta(starMeta);
          
            ItemStack tenkeys = new ItemStack(Material.GHAST_TEAR);
            ItemMeta tenkeysMeta = tenkeys.getItemMeta();
            tenkeysMeta.setDisplayName("§aКлюч");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreTenkeys = new ArrayList();
            loreTenkeys.add("§7§lКоличество: 10 штук");
            loreTenkeys.add("§7§lЦена: 49");
            loreTenkeys.add("§c§lНажмите, чтобы купить");
            tenkeysMeta.setLore(loreTenkeys);
            tenkeys.setItemMeta(tenkeysMeta);
          
            ItemStack fiftykeys = new ItemStack(Material.GHAST_TEAR);
            ItemMeta fiftykeysMeta = fiftykeys.getItemMeta();
            fiftykeysMeta.setDisplayName("§aКлюч");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreFiftykeys = new ArrayList();
            loreFiftykeys.add("§7§lКоличество: 50 штук");
            loreFiftykeys.add("§7§lЦена: 139");
            loreFiftykeys.add("§c§lНажмите, чтобы купить");
            fiftykeysMeta.setLore(loreFiftykeys);
            fiftykeys.setItemMeta(fiftykeysMeta);
          
            ItemStack autosell = new ItemStack(Material.DIAMOND);
            ItemMeta autosellMeta = autosell.getItemMeta();
            autosellMeta.setDisplayName("§bАвтоПродажа");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreAutosell = new ArrayList();
            loreAutosell.add(" ");
            loreAutosell.add("§7§lЦена: 259");
            loreAutosell.add("§c§lНажмите, чтобы купить");
            autosellMeta.setLore(loreAutosell);
            autosell.setItemMeta(autosellMeta);
          
            ItemStack toilet = new ItemStack(Material.TRIPWIRE_HOOK);
            ItemMeta toiletMeta = toilet.getItemMeta();
            toiletMeta.setDisplayName("§6Отключение потребностей");
            @SuppressWarnings({ "unchecked", "rawtypes" })
            ArrayList<String> loreToilet = new ArrayList();
            loreToilet.add(" ");
            loreToilet.add("§7§lЦена: 99");
            loreToilet.add("§c§lНажмите, чтобы купить");
            toiletMeta.setLore(loreToilet);
            toilet.setItemMeta(toiletMeta);
          
            this.inv = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Магазин");
            this.inv.setItem(0, boosterbttn);
            this.inv.setItem(1, itemsbttn);
            this.inv.setItem(2, specialbttn);
          
            this.inv2 = Bukkit.getServer().createInventory(null, 9, ChatColor.GOLD + "Бустеры");
            this.inv2.setItem(0, boostermoneyloc);
            this.inv2.setItem(1, boostermoneyglobal);
          
            this.inv3 = Bukkit.getServer().createInventory(null, 9, ChatColor.GREEN + "Предметы");
            this.inv3.setItem(0, dust);
            this.inv3.setItem(1, star);
            this.inv3.setItem(2, tenkeys);
            this.inv3.setItem(3, fiftykeys);
          
            this.inv4 = Bukkit.getServer().createInventory(null, 9, ChatColor.AQUA + "Специальное");
            this.inv4.setItem(0, autosell);
            this.inv4.setItem(1, toilet);
          
            p.openInventory(this.inv);
            return true;
        }
        return true;
    }
  
    @EventHandler
    public void onInventoryClick(InventoryClickEvent e) {
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Магазин")) {
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            Player p = (Player)e.getWhoClicked();
            e.setCancelled(true);
            if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
                p.openInventory(inv2);
            }
          
            if (e.getCurrentItem().getType().equals(Material.DIAMOND)) {
                p.openInventory(inv3);
            }
          
            if (e.getCurrentItem().getType().equals(Material.EMERALD)) {
                p.openInventory(inv4);
            }
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GOLD + "Бустеры")) {
            Player p = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
          
            if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
          
            if (e.getCurrentItem().getType().equals(Material.GOLD_BLOCK)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Предметы")) {
            Player p = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
          
            if (e.getCurrentItem().getType().equals(Material.GLOWSTONE_DUST)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
            if (e.getCurrentItem().getType().equals(Material.NETHER_STAR)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
            }
            if (e.getCurrentItem().getType().equals(Material.GHAST_TEAR)) {
                p.sendMessage("§6§l[]");
                p.closeInventory();
        }
        if (e.getInventory().getName().equalsIgnoreCase(ChatColor.AQUA + "Специальное")) {
            Player p1 = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta().getLore() == null) {
                e.setCancelled(true);
            }
            e.setCancelled(true);
          
            if (e.getCurrentItem().getType().equals(Material.DIAMOND)) {
                p1.sendMessage("§6§l[]");
                p1.closeInventory();
            }
          
            if (e.getCurrentItem().getType().equals(Material.TRIPWIRE_HOOK)) {
                p1.sendMessage("§6§l[]");
                p1.closeInventory();
            }
        }
        }
    }
}
Ааа, я понял, что ты за плагин пытаешься написать. Это с дристаликса донат. Гы
 
Назад
Верх