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

Помогите Как возвращать эффект когда игрок выпивает молоко в определённом мире?

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

  1. Автор темы
    MrTeldi

    MrTeldi Новичок Пользователь

    Баллы:
    11
    Помогите пожалуйста!!
    Как возвращать эффект когда игрок выпивает молоко в определённом мире?
    Допустим игрок выпел молоко в эндер мире эффекты не снялись но когда игрок выпивает молоко в обычном мире молоко работает.

    Помогите пожалуйста!!
     
  2. Kerskiy

    Kerskiy Новичок

    Баллы:
    6
    Не пробовал отменять событие, когда игрок пьет молоко, находясь в энде? И ставить в руку пустое ведро
     
  3. Автор темы
    MrTeldi

    MrTeldi Новичок Пользователь

    Баллы:
    11
    если бы я знал как это сделать.
     
  4. Kerskiy

    Kerskiy Новичок

    Баллы:
    6
    Поищи ивент тут https://rubukkit.org/threads/spisok-bukkit-events.125435/
    Отменить - e.setCancelled(true), и затем вроде
    Код:
    e.getPlayer().getInventory().setItemInMainHand(null)
    . Не уверен, чтотработает, но попробуй хотя-бы. Либо же сам поищи метод для установки предмета в руку, найдешь точно
     
  5. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Глупости, может ему не нужно удалять молоко из инвентаря игрока. Достаточно просто setCancelled(true);
    PlayerInteractEvent
     
  6. Kerskiy

    Kerskiy Новичок

    Баллы:
    6
    Если просто отменить ивент, то молоко останется в инвентаре. Надо уточнять, оставлять ли молоко в инвентаре или нет
     
  7. Sturm_PT

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

    Баллы:
    76
    1) В листенере слушаешь PlayerItemConsumeEvent
    2) Если e.getItem().getType() == Material.MILK_BUCKET - продолжаем
    3) Если e.getPlayer().getWorld().getName().equals("Название_мира_где_отменяем") - e.setCancelled(true)
    Кодом напишешь сам
     
  8. Автор темы
    MrTeldi

    MrTeldi Новичок Пользователь

    Баллы:
    11
    Хех почему у всех разные варианты (дайте пожалуйста один нормальный):)
     
  9. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    PlayerItemConsumeEvent самый адекватный. Не знаю, почему забыл про него.
     

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