Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Причём тут английский?Иди учи английский))) https://github.com/tokyojack/PlayerKillPlayerEvent
Ну все - выбрасывай.Причём тут английский?
@EventHandler
public void onDeath(PlayerDeathEvent e) {
Player killed = e.getEntity(); // Игрок, которого убили
if (killed.getKiller() instanceof Player) {
Player killer = killed.getKiller(); // Игрок, который убил
}
}
}
Привет дружище, если ты ничего не понял то:Помогите пожалуйста, как сделать ивент когда игрок убивает другого игрока, а потом получить убийцу?
public void onDeaths(PlayerDeathEvent event) {
//Далее переменная
if (event.getEntity().getKiller() instanceof Player) { //Если киллер является игроком
Player killer = event.getEntity().getKiller(); //Получаем киллера
killer.sendTitle("ВЫ УБИЛИ ИГРОКА",null); //Отправляем титл при убийстве игрока киллеру
killer.playSound(killer.getLocation(), Sound.ENTITY_PLAYER_DEATH,100,100); //Отправляем звук при убийстве килллеру
}
}
Не зачем проверять на Player ибо метод Player#getKiller() возвращает всегда Player.Привет дружище, если ты ничего не понял то:
@EventHandler//Метод
Код:public void onDeaths(PlayerDeathEvent event) { //Далее переменная if (event.getEntity().getKiller() instanceof Player) { //Если киллер является игроком Player killer = event.getEntity().getKiller(); //Получаем киллера killer.sendTitle("ВЫ УБИЛИ ИГРОКА",null); //Отправляем титл при убийстве игрока киллеру killer.playSound(killer.getLocation(), Sound.ENTITY_PLAYER_DEATH,100,100); //Отправляем звук при убийстве килллеру } }
Самый лучший способ проверять убийцу, это через EntityDamageByEntityEvent получить того кто атакует и на кого, и вычислить, является ли финальный урон фатальным, а там уже делать то что нужно. (Но прежде чем проверять, надо убедиться что ивент не был отменен ранее)Помогите пожалуйста, как сделать ивент когда игрок убивает другого игрока, а потом получить убийцу?
Не зачем проверять на Player ибо метод Player#getKiller() возвращает всегда Player.
А так же из-за того что он возвращает Player, он может вернуть null если убийц не было или может вовсе всегда показывать одного и того же убийцу игрока если игрок умирает из-за монстра.
Самый лучший способ проверять убийцу, это через EntityDamageByEntityEvent получить того кто атакует и на кого, и вычислить, является ли финальный урон фатальным, а там уже делать то что нужно. (Но прежде чем проверять, надо убедиться что ивент не был отменен ранее)
Нашелся умник, он вернет null если игрок упадет со скалы или его убьет скелет.Кодер ты мой умный, ты ведь знаешь что игрок может упасть со скалы, или его убьет скелет?
Для этого и существует проверка.
А с твоим кодом, если игрок упадет со скалы, то будет выбрасывать nullpointer потому, что killer = null.Кодер ты мой умный, ты ведь знаешь что игрок может упасть со скалы, или его убьет скелет?
Для этого и существует проверка.
public void onDeaths(PlayerDeathEvent event) {
if (event.getEntity().getKiller() != null) {
Player killer = event.getEntity().getKiller();
}
}
Метод LivingEntity#getKiller() всегда возвращает Player, о а каких скелетах идет речь? (Player реализует LivingEntity если что)Кодер ты мой умный, ты ведь знаешь что игрок может упасть со скалы, или его убьет скелет?
Для этого и существует проверка.
Костыль. Все уже реализовано в баките.EntityDamageByEntityEvent
И как же? EntityDeathEvent возвращает только сущность которая умерла, узнать кем именно никак кроме как да, костыля.Костыль. Все уже реализовано в баките.
Здесь стоит конкретная задача - получить убийцу игрока. Когда игрок убивает другого игрока. Все остальное тут излишне.И как же? EntityDeathEvent возвращает только сущность которая умерла, узнать кем именно никак кроме как да, костыля.