Почему мой плагин не дает имени элементу?

#plugins #minecraft #bukkit

Вопрос:

Я перепробовал все, но с помощью этого кода предметы, которые я получаю за убийство игрока, будут иметь базовое название Minecraft, почему? Я перепробовал все. Может ли другой плагин блокировать его? В чем может быть проблема? Java, intellijidea, код 1.8:

 public class killitem implements Listener {
    private random plugin = random.getPlugin(random.class);

    @EventHandler
    public void onPlayerDeath(PlayerDeathEvent e) {
        Player player = e.getEntity();
        Player killer = player.getKiller();

        //Enderpearl

        ItemStack is = new ItemStack(Material.ENDER_PEARL);
        ItemMeta meta = is.getItemMeta();
        meta.setDisplayName(""   ChatColor.GOLD   ChatColor.YELLOW   ChatColor.BOLD   "Véggyöngy");
        ArrayList<String> lore = new ArrayList();

        //Blaze rod

        ItemStack is2 = new ItemStack(Material.BLAZE_ROD);
        ItemMeta meta2 = is2.getItemMeta();
        meta.setDisplayName(""   ChatColor.GOLD   ChatColor.DARK_RED   ChatColor.BOLD   "Mentőrúd");
        ArrayList<String> lore2 = new ArrayList();
        lore.add("|"   ChatColor.RED   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Feltölti "   ChatColor.RED   "teljesen "   ChatColor.GRAY   "az életedet!");
        meta.setLore(lore2);
        is2.setItemMeta(meta2);

        //Csillag

        ItemStack is3 = new ItemStack(Material.NETHER_STAR);
        ItemMeta meta3 = is3.getItemMeta();
        meta.setDisplayName(""   ChatColor.DARK_GREEN   ChatColor.BOLD   "Második Esély");
        ArrayList<String> lore3 = new ArrayList();
        lore.add("|"   ChatColor.GREEN   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Feldob "   ChatColor.RED   "60 "   ChatColor.GRAY   "blokk magasra!");
        meta.setLore(lore3);

        //Toll

        ItemStack is4 = new ItemStack(Material.FEATHER);
        ItemMeta meta4 = is4.getItemMeta();
        meta.setDisplayName(""   ChatColor.AQUA   ChatColor.BOLD   "Speed");
        ArrayList<String> lore4 = new ArrayList();
        lore.add("|"   ChatColor.AQUA   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Speed 4-et kapsz "   ChatColor.AQUA   "10 "   ChatColor.GRAY   "másodpercre!");
        meta.setLore(lore4);

        //Quartz

        ItemStack is5 = new ItemStack(Material.QUARTZ);
        ItemMeta meta5 = is5.getItemMeta();
        meta.setDisplayName(""   ChatColor.RED   ChatColor.BOLD   "Instant Health");
        ArrayList<String> lore5 = new ArrayList();
        lore.add("|"   ChatColor.RED   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Feltölti "   ChatColor.RED   "teljesen "   ChatColor.GRAY   "az életed!");
        meta.setLore(lore5);

        //Aranyalma

        ItemStack is6 = new ItemStack(Material.GOLDEN_APPLE);
        ItemMeta meta6 = is6.getItemMeta();
        meta.setDisplayName(""   ChatColor.YELLOW   "Aranyalma");
        ArrayList<String> lore6 = new ArrayList();


        int upper = 5;
        Random random = new Random();
        random.nextInt(5   (upper));
        if (player.isDead()) {
            player.getKiller();

            if (player.getKiller() instanceof Player) {
                random.nextInt(5   (upper));

                if (random.nextInt(5   (upper)) == 6) {
                    killer.getInventory().addItem(is2);
                    is2.setItemMeta(meta2);
                } else if (random.nextInt(5   (upper)) == 7) {
                    killer.getInventory().addItem(is3);
                    is3.setItemMeta(meta3);
                } else if (random.nextInt(5   (upper)) == 8) {
                    killer.getInventory().addItem(is4);
                    is4.setItemMeta(meta4);
                } else if (random.nextInt(5   (upper)) == 9) {
                    killer.getInventory().addItem(is);
                    killer.getInventory().addItem(is6);
                    is6.setItemMeta(meta6);
                    is.setItemMeta(meta);
                }
            } else if (random.nextInt(5   (upper)) == 10) {
            }
        }
    }
}
 

Комментарии:

1. не работает, neirda3052

Ответ №1:

хорошо, попробуйте сначала установить метку, а затем дать ее

 if (random.nextInt(5   (upper)) == 6) {
                is2.setItemMeta(meta2);//like this
                killer.getInventory().addItem(is2);
                
 

Ответ №2:

Попробуйте использовать это:

 public class killitem implements Listener {
    private random plugin = random.getPlugin(random.class);

    @EventHandler
    public void onPlayerDeath(PlayerDeathEvent e) {
        bukkit.getscheduler().runTask(plugin, ()->giveItemForKiller(e));
    }
    
    private void giveItemForKiller(PlayerDeathEvent e) {
        Player player = e.getEntity();
        Player killer = player.getKiller();

        //Enderpearl

        ItemStack is = new ItemStack(Material.ENDER_PEARL);
        ItemMeta meta = is.getItemMeta();
        meta.setDisplayName(""   ChatColor.GOLD   ChatColor.YELLOW   ChatColor.BOLD   "Véggyöngy");
        ArrayList<String> lore = new ArrayList();

        //Blaze rod

        ItemStack is2 = new ItemStack(Material.BLAZE_ROD);
        ItemMeta meta2 = is2.getItemMeta();
        meta.setDisplayName(""   ChatColor.GOLD   ChatColor.DARK_RED   ChatColor.BOLD   "Mentőrúd");
        ArrayList<String> lore2 = new ArrayList();
        lore.add("|"   ChatColor.RED   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Feltölti "   ChatColor.RED   "teljesen "   ChatColor.GRAY   "az életedet!");
        meta.setLore(lore2);
        is2.setItemMeta(meta2);

        //Csillag

        ItemStack is3 = new ItemStack(Material.NETHER_STAR);
        ItemMeta meta3 = is3.getItemMeta();
        meta.setDisplayName(""   ChatColor.DARK_GREEN   ChatColor.BOLD   "Második Esély");
        ArrayList<String> lore3 = new ArrayList();
        lore.add("|"   ChatColor.GREEN   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Feldob "   ChatColor.RED   "60 "   ChatColor.GRAY   "blokk magasra!");
        meta.setLore(lore3);

        //Toll

        ItemStack is4 = new ItemStack(Material.FEATHER);
        ItemMeta meta4 = is4.getItemMeta();
        meta.setDisplayName(""   ChatColor.AQUA   ChatColor.BOLD   "Speed");
        ArrayList<String> lore4 = new ArrayList();
        lore.add("|"   ChatColor.AQUA   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Speed 4-et kapsz "   ChatColor.AQUA   "10 "   ChatColor.GRAY   "másodpercre!");
        meta.setLore(lore4);

        //Quartz

        ItemStack is5 = new ItemStack(Material.QUARTZ);
        ItemMeta meta5 = is5.getItemMeta();
        meta.setDisplayName(""   ChatColor.RED   ChatColor.BOLD   "Instant Health");
        ArrayList<String> lore5 = new ArrayList();
        lore.add("|"   ChatColor.RED   "Jobb klikk: |"   ChatColor.DARK_GRAY   " ▪ "   ChatColor.GRAY   "Feltölti "   ChatColor.RED   "teljesen "   ChatColor.GRAY   "az életed!");
        meta.setLore(lore5);

        //Aranyalma

        ItemStack is6 = new ItemStack(Material.GOLDEN_APPLE);
        ItemMeta meta6 = is6.getItemMeta();
        meta.setDisplayName(""   ChatColor.YELLOW   "Aranyalma");
        ArrayList<String> lore6 = new ArrayList();


        int upper = 5;
        Random random = new Random();
        random.nextInt(5   (upper));
        if (player.isDead()) {
            player.getKiller();

            if (player.getKiller() instanceof Player) {
                random.nextInt(5   (upper));

                if (random.nextInt(5   (upper)) == 6) {
                    killer.getInventory().addItem(is2);
                    is2.setItemMeta(meta2);
                } else if (random.nextInt(5   (upper)) == 7) {
                    killer.getInventory().addItem(is3);
                    is3.setItemMeta(meta3);
                } else if (random.nextInt(5   (upper)) == 8) {
                    killer.getInventory().addItem(is4);
                    is4.setItemMeta(meta4);
                } else if (random.nextInt(5   (upper)) == 9) {
                    killer.getInventory().addItem(is);
                    killer.getInventory().addItem(is6);
                    is6.setItemMeta(meta6);
                    is.setItemMeta(meta);
                }
            } else if (random.nextInt(5   (upper)) == 10) {
            }
        }
    }
}