EntitySelectors.бла-бла-бла
- это как раз параметры, по которым в дальнейшем будут отобраны сущности... Имеется ли AI или живая ли сущность и тд. Грубо говоря - это просто список параметров, по которым нужно фильтровать.Думал думал и додумался до такого: Выбирает только те сущности, которые живы и в которых можно попасть и проверяет условие, можно ли с ними столкнуться? Если подумать, то это реализация пули, и тогда все правильно. Ведь правильно все сказал или я бред несу?Создаёт фильтр для выборки сущностей.
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 может ли сущность столкнуться с чем-то (сущностью, как я подозреваю)
}//закрытые метода
}); //закрытые переменной с анонимным классом