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

В разработке Ошибка на getNearbyEntities

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

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

    Sitmobedaf Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    SiT
    При частом использовании в коде
    tr.getLocation().getWorld().getNearbyEntities(tr.getLocation(), 16.0D, 12.0D, 16.0D);
    иногда проскакивает исключение NullPointerException примерно раз в 10к или NoSuchElementException, намного реже.
    При этом tr.getLocation().getWorld() != null. Ошибка именно в getNearbyEntities(args);
     
  2. Автор темы
    Sitmobedaf

    Sitmobedaf Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    SiT
    Забыл написать - выполняется в отдельном асинхронном потоке.
     
  3. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    В асинхронном потоке этот метод, как и собственно почти любой метод из баккита саязанный с миром/энтитями/блоками выполнять нельзя.
     
  4. Lemar98

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

    Баллы:
    76
    Тогда, в этом случае, разве не по дефолту должен выбиваться экзепш?
     
  5. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Нет. Никто не бдудет вешать проверки на каждый метод, потому что это тормозит код в нормальных случаях.
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Уже вызывается ексепшен в новых версиях через проверку трейда.
     

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