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

Помогите Почему когда игрок возрождается не выдаётся эффект?

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

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

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

    Баллы:
    11
    Вот код
     

    Вложения:

  2. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Выдавай через тик. И код лучше вставлять текстом, а не скрином
     
  3. Автор темы
    MrTeldi

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

    Баллы:
    11
    А как это сделать?


    Код:
        public void onPlayerRespawn(PlayerRespawnEvent event) {
            Player player = event.getPlayer();
    
            if (player.getWorld().getName().equals("world_the_end")) {
                player.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 860000, 0, false));
    
            }
        }
    }
     
  4. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Код:
    Bukkit.getScheduler().runTaskLater(plugin, () -> {
            if (player.getWorld().getName().equals("world_the_end")) {
                player.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 860000, 0, false));
    
            }
    }, 1);
     
  5. Автор темы
    MrTeldi

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

    Баллы:
    11
    Хорошо, но у меня возникает ошибка с plugin извини если это тупая ошибка я просто самый, самый новичок.
     
  6. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
  7. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
  8. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    там и от alexandrage ответ есть
     
  9. therimuru_

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

    Баллы:
    66
    Имя в Minecraft:
    therimuru_
    Мне многие говорят что статики такое, кто может сказать почему?
     
  10. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Использование статики позволяет получить доступ к любому объекту из любого места. Даже оттуда, откуда доступ не предполагался.
    Неопытные разработчики часто используют такой подход, потому что он им кажется проще и понятней. Но это лишь на первый взгляд. На самом деле в итоге получается макаронный код, где неясно, что к чему обращается.
    Статику можно использовать только для финальных констант и утилитарных методов, которые НЕ меняют состояние приложения.
    Для подробностей можно почитать про принцип единой ответственности.
    Это основная причина, но есть и менее приоритетные по типу сложности тестирования и невозможности использования нескольких инстансов объекта
     

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