Вопрос Как проверить критический удар?

Версия Minecraft
1.16.X

Taiufun

Пользователь
Заблокирован
Сообщения
384
Решения
5
Я хочу реализовать проверку на критический удар в Spigot. Интересует, есть ли готовые методы API или нужно проверять условия вручную?
 
Готового метода нет, но можно проверять что игрок не находится на земле и еще несколько нюансов

Java:
public boolean isCritical(Player player) {
      return player.getFallDistance() > 0.0F &&
             !player.isOnGround() &&
             !player.isInsideVehicle() &&
             !player.hasPotionEffect(PotionEffectType.BLINDNESS) &&
             player.getLocation().getBlock().getType() != Material.LADDER &&
             player.getLocation().getBlock().getType() != Material.VINE;
}
 
Готового метода нет, но можно проверять что игрок не находится на земле и еще несколько нюансов

Java:
public boolean isCritical(Player player) {
      return player.getFallDistance() > 0.0F &&
             !player.isOnGround() &&
             !player.isInsideVehicle() &&
             !player.hasPotionEffect(PotionEffectType.BLINDNESS) &&
             player.getLocation().getBlock().getType() != Material.LADDER &&
             player.getLocation().getBlock().getType() != Material.VINE;
}
оно не очень проверяет нанёс ли игрок именно крит. как допустим античиты это делают
 
Готового метода нет
Ну как нет

Чисто технически - на новых версиях оно есть... но увы, в 1.16 API добавлено не было

оно не очень проверяет нанёс ли игрок именно крит. как допустим античиты это делают
Ну для тебя на 1.16 и тем более на спигот апи - вариантов нет.

На 1.20.4 условном - есть готовый метод проверки

Так что тут вероятно стоило бы задуматься об апгрейде
Или покупке какого-нибудь платного форка... Какого нибудь, где это есть...
 
Последнее редактирование:
Назад
Сверху Снизу