- Баллы
- 16
Доброго всем вечера. Как получить игрока который кинул Projectile?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
С целью приобретения опыта. Стало интересно попробовать взаимодействовать с Projectile.event.getEntity().getShooter() вроде
А зачем если не секрет?
P.S.Просто интересно
С целью приобретения опыта. Стало интересно попробовать взаимодействовать с Projectile.
А так, event.getEntity().getShooter() возвращает ProjectileSource.
@EventHandler
public void projectileHitEvent(ProjectileHitEvent event) {
ProjectileSource source = event.getEntity().getShooter();
if (source instanceof Player) {
Player player = (Player) source;
System.out.println("ИТО БЫЛ ПЛАУЕР");
return;
}
if (source instanceof Entity) {
Entity entity = (Entity) source;
System.out.println("ЭТО БЫЛ ИНТИТИ");
return;
}
System.out.println("ЭТО БЫЛА КАКАЯ-ТА НЕВЬЕБИЧСКИ СТРАННАЯ ХЕРОТЕНЬ!! (Скорее всего - раздатчик)");
}
По этому нужно использовать getType().Но запомни, instanceof - плохо.Java:public void onHit(ProjectileHitEvent event) { if (event.getEntity().getShooter() instanceof Player) { Player player = (Player) event.getEntity().getShooter(); } }
if(event.getEntity().getShooter().getType()==EntityType.PLAYER)
нельзя так. т.к шутер может быть раздатчик. А он не ентитиif(event.getEntity().getShooter().getType()==EntityType.PLAYER)
Сколько раз слышал про instanceof, но не было ни одного пруфа с тастами скорости.По этому нужно использовать getType().Java:if(event.getEntity().getShooter().getType()==EntityType.PLAYER)
А это уже зависит от версии. К сожалению никак не привыкну ко всем нововведениям и живу в NMS.нельзя так. т.к шутер может быть раздатчик. А он не ентити
Не в скорости дело, а в не ООП подходе. По крайней мере в 1.8 на скорость влияет уже архитектура программы. Немного погуглив и найдя несколько тестов по скорости, оказывается скорость кастомного getType может быть ниже выполнения instanceof в разы и наоборот. Тут нужно проводить конкретный замер по ведру, чтобы придти к конкретным выводам.Сколько раз слышал про instanceof, но не было ни одного пруфа с тастами скорости.