Помогите Свои смерти и damage...

Статус
Закрыто для дальнейших ответов.

pro100koder

Активный участник
Пользователь
Баллы
76
В общем, нужно сделать дамаг особенным (хорошо настраиваемым), нужны такие вещи, как:
1) Сколько дамага;
2) Кто дамажил;
3) Отдача будет/нет;
4) Кастомное сообщение при убийстве этим дамагом.
Да, я понял, что нужно создать метод, это не проблема. А проблема в отмене отдачи от удара и в кастомном deathmessage. Понятия не имею, на сколько сложно будет это сделать, хоть и копался в яндексе минут 30. (Да, я не умею нормально пользоваться поиском. Там качество результата может зависить от расположения слова, или лишнего предлога, или от недописанного предлога, короче, я не умею гуглить!!!)
Как я понял, первые 2 можно сетнуть через p.damage(), а потом как-то отменить отдачу. Но как сообщение о смерти изменить?
 
В общем, нужно сделать дамаг особенным (хорошо настраиваемым), нужны такие вещи, как:
1) Сколько дамага;
2) Кто дамажил;
3) Отдача будет/нет;
4) Кастомное сообщение при убийстве этим дамагом.
Да, я понял, что нужно создать метод, это не проблема. А проблема в отмене отдачи от удара и в кастомном deathmessage. Понятия не имею, на сколько сложно будет это сделать, хоть и копался в яндексе минут 30. (Да, я не умею нормально пользоваться поиском. Там качество результата может зависить от расположения слова, или лишнего предлога, или от недописанного предлога, короче, я не умею гуглить!!!)
Как я понял, первые 2 можно сетнуть через p.damage(), а потом как-то отменить отдачу. Но как сообщение о смерти изменить?
Давай я тебе его напишу за мани?
 
Давай я тебе его напишу за мани?
Код:
public void damage(Player target, int damage, Player damager, boolean noknockback, String customMessage){
        target.damage(damage, damager);
        if(noknockback==true)target.getLocation().setDirection(null);//Это вроде как отменит отдачу... Не уверен.
        //А как кастом сообщение-то сделать?
    }
В общем, окей, от вопроса осталось только кастомное сообщение.
 
Код:
public void damage(Player target, int damage, Player damager, boolean noknockback, String customMessage){
        target.damage(damage, damager);
        if(noknockback==true)target.getLocation().setDirection(null);//Это вроде как отменит отдачу... Не уверен.
        //А как кастом сообщение-то сделать?
    }
В общем, окей, от вопроса осталось только кастомное сообщение.
Отдачу не отменяет...
 
Попробуй
Код:
Bukkit.getScheduler().runTask(plugin, () -> p.setVelocity(new Vector()));
Спасибо. Осталась только проблема с сообщением в случае смерти... Хотя я уже придумал решение! Только как там определить, не был ли damage смертельным, не подскажите?
 
Так. Почти всё уже сделал, даже это сообщение, но как отменить старое? Дефолтное (У меня в DeathEvent в другом месте вообще вместо смерти gm-3 ставится, но почему-то сообщение проходит :/)
 
Решил, тупо запретив отправлять сообщения о смерти через gamerule. Всё, тема закрыта)
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх