1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Баг с ивентом

Тема в разделе "Разработка плагинов для новичков", создана пользователем Boss90, 6 апр 2021.

Статус темы:
Закрыта.
  1. Автор темы
    Boss90

    Boss90 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Boss90
    Здравствуйте, у меня появилась проблема, которую не могу к сожалению решить.
    Хочу сделать плагин на собирание бутылок, но вот проблема, ивент выводит null при попытке получить имя предмета.
    Код:

    PHP:
    package Boss90.Events;

    import org.bukkit.ChatColor;
    import org.bukkit.entity.Item;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerPickupItemEvent;

    public class 
    BottleEvent implements Listener {
        @
    EventHandler
        
    public void onPickUp(PlayerPickupItemEvent e) {
            
    Item item e.getItem();
            
    Player p e.getPlayer();
            
    System.out.println(item.getCustomName());
            if (
    item.isCustomNameVisible() && item.getCustomName().equals(ChatColor.translateAlternateColorCodes('&',"&fБутылка"))) {
            
    item.remove();
            
    p.sendMessage("Чел ты нашёл бутылку");
            }
    }
    }
    P.S знаю что говно-код, там будет в будущем конфиг.
    Вывод в консоль:
    upload_2021-4-6_22-27-34.png
     
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Не баг - ты получаешь имя не самого предмета, а сущности предмета. Для получения непосредственно предмета(ItemStack) используй e.getItem().getItemStack(), и уже оттуда получай своё название предмета.
     
  3. Автор темы
    Boss90

    Boss90 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Boss90
    Спасибо).
     
Статус темы:
Закрыта.

Поделиться этой страницей