Помогите Как при нажатии на блок, в чат писалось его имя?

Статус
Закрыто для дальнейших ответов.

MinotaurWorld

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
MinotaurWorld
Здравствуйте! У меня возникла небольшая проблема. Как сделать, чтобы при нажатии на сундук в чат писалось его имя (Которое мы написали при переименовании сундука в наковальне). К примеру: Вот небольшой код.
Код:
@EventHandler
public void OnBlockClick(PlayerInteractEvent e){
    Player p = e.getPlayer();
    Action a = e.getAction();
    if (a == Action.RIGHT_CLICK_BLOCK){
        p.sendMessage("Имя сундука:" + Как тут      написать?);
    }else {
        return;
    }
}

Как написать после плюса? Я уже наверное почти по всякому пробовал.
 
Код:
    @EventHandler
    public void OnBlockClick(PlayerInteractEvent e){
        Player p = e.getPlayer();
        Action a = e.getAction();
        Chest c=(Chest) e.getClickedBlock();
        if ((a == Action.RIGHT_CLICK_BLOCK)&&(c!=null)){
            p.sendMessage("Имя сундука:" +c.getInventory().getName()+" или "+c.getInventory().getTitle());
        }else {
            return;
        }
    }
 
Код:
    @EventHandler
    public void OnBlockClick(PlayerInteractEvent e){
        Player p = e.getPlayer();
        Action a = e.getAction();
        Chest c=(Chest) e.getClickedBlock();
        if ((a == Action.RIGHT_CLICK_BLOCK)&&(c!=null)){
            p.sendMessage("Имя сундука:" +c.getInventory().getName()+" или "+c.getInventory().getTitle());
        }else {
            return;
        }
    }
Не работает!
 
e.getAction().getClickedBlock() == Material.CHEST
Ты дебил сравнивать block с material
 
e.getAction().getClickedBlock() == Material.CHEST
Ты дебил сравнивать block с material
он сравнивает Type с Maeterial
Если не умеете читать внимательно код, то красный крестик в правом верхнем углу окошка
 
Крч хз в чём проблема, но удалив прошлый ответ, и немного поработав, но бле..
Код:
@EventHandler
    public void InventoryOpen(InventoryOpenEvent e) {
        if(e.getInventory().getType() == InventoryType.CHEST) {
            e.getPlayer().sendMessage("Имя сундука: " + e.getInventory().getTitle());
        }
    }
Я попытался юзать другой эвент, но всё же, он отправляет тип инвентаря, а не его название(
 
да вроде он всё правильно сравнивает. Материал с материалом.
парня засмущали, он подумал что ошибся и удалил правилный код. Живем бл*.
у него и было getType, просто этот "недибил" не заметил этого, и даже не написал в совем сообщении. цитировать не может
 
парня засмущали, он подумал что ошибся и удалил правилный код. Живем бл*.

у него и было getType, просто этот "недибил" не заметил этого, и даже не написал в совем сообщении. цитировать не может
Неправильно было, я проверил. Скомпилировал проект, ничего не работало. Крашило в консоль
Если честно, то я явно не ожидал, что с выводом названия инвентаря могут возникнуть проблемы -.-
 
Он отвечал на коментарий, который почемуто удалили, и там все норм было.
А если не на него то я не уверен что e.getAction().getClickedBlock() правильно.
у него и было getType, просто этот "недибил" не заметил этого, и даже не написал в совем сообщении. цитировать не может
так ещё этот "..."написал getAction().getClickedBlock().
Не правильно было, я проверил. Скомпилировал проект, ничего не работало. Крашило в консоль
У тебя все правильно было. По крайней мере с тем, на что пожаловались.
 
Неправильно было, я проверил. Скомпилировал проект, ничего не работало. Крашило в консоль
Если честно, то я явно не ожидал, что с выводом названия инвентаря могут возникнуть проблемы -.-
у нас клик по блоку из мира, а не по ячейке из инвентаря (ну вроде как)
 
у нас клик по блоку из мира, а не по ячейке из инвентаря (ну вроде как)
Ты про что..? Там InventoryOpenEvent
Он отвечал на коментарий, который почемуто удалили, и там все норм было.
А если не на него то я не уверен что e.getAction().getClickedBlock() правильно.

так ещё этот "..."написал getAction().getClickedBlock().

У тебя все правильно было. По крайней мере с тем, на что пожаловались.
Я привык всё писать через предложенные ответы. Так-что извините за ошибку :)
 
Вопрос был про то, как можно вывести имя сундука по которому нажали. Про инвентарь вообще не было никаких вопросов. Имя сундука из мира!
 
Алло, там PLayerInteractEvent
Я подумал про тот код, который скинул я xd
Вопрос был про то, как можно вывести имя сундука по которому нажали. Про инвентарь вообще не было никаких вопросов. Имя сундука из мира!
А теперь вопрос на миллион белорусских рублей. Сундук это не инвентарь бл*ть?
 
Я подумал про тот код, который скинул я xd

А теперь вопрос на миллион белорусских рублей. Сундук это не инвентарь бл*ть?
это блок. Ты не путай. пока он не открыт это просто сраный блок с инвентарем
 
это блок. Ты не путай. пока он не открыт это просто сраный блок с инвентарем
Ну ему ведь блок не нужен? Ему нужно название инвентаря, который открывается после клика на тот "сраный блок".
 
Ну ему ведь блок не нужен? Ему нужно название инвентаря, который открывается после клика на тот "сраный блок".
а ну так то да, я тоже затупил и подумал про ивент по клику в инвентаре
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх