Что делает этот код?

Версия Minecraft
1.12.2
Java:
    public static final Predicate<Entity> BULLET_TARGETS = Predicates.and(EntitySelectors.CAN_AI_TARGET, EntitySelectors.IS_ALIVE, new Predicate<Entity>()
    {
        @Override
        public boolean apply(@Nullable Entity entity)
        {
            return entity.canBeCollidedWith();
        }
    });
 
4,045
63
645
Прям подробно нет, но EntitySelectors.бла-бла-бла - это как раз параметры, по которым в дальнейшем будут отобраны сущности... Имеется ли AI или живая ли сущность и тд. Грубо говоря - это просто список параметров, по которым нужно фильтровать.
В дальнейшем, видимо, в коде пробегаются по всем ближайшим сущностям и возвращают список подходящих.
 
Создаёт фильтр для выборки сущностей.
Думал думал и додумался до такого: Выбирает только те сущности, которые живы и в которых можно попасть и проверяет условие, можно ли с ними столкнуться? Если подумать, то это реализация пули, и тогда все правильно. Ведь правильно все сказал или я бред несу?
 
1,330
104
225
Код:
    public static final Predicate<Entity> BULLET_TARGETS /*Фильтр на список сущностей*/ = Predicates.and(EntitySelectors.CAN_AI_TARGET /*Таргет с АИ (проверка на наличие*/, EntitySelectors.IS_ALIVE /*Жива ли сущность*/, new Predicate<Entity>() //Анонимный класс с самой сущностью
    {//Открытые анонимного класса
        @Override //Переопределние
        public boolean apply(@Nullable Entity entity /*Параметр с сущностью, который может быть null*/) //Метод возвращающий буолеан
        {//открытие метода
            return entity.canBeCollidedWith(); //Метод возвращает true/false может ли сущность столкнуться с чем-то (сущностью, как я подозреваю)
        }//закрытые метода
    }); //закрытые переменной с анонимным классом
 
Последнее редактирование:
Сверху