Szukaj…


Uwagi

Obecnie nie ma spójnego sposobu na uniknięcie cierpienia grawitacji bytu, nawet jeśli anulujesz jego ruch, po stronie klienta gracz nadal próbowałby upaść przed odwołaniem zdarzenia.

Spadająca odległość jednostki

Odległość opadania jednostki to odległość, którą spadła istota, nie osiągając bloku.

Można go użyć do obliczenia różnych obrażeń od upadku lub aktywacji efektu po dużym upadku.


Odzyskiwanie odległości spadania

float distanceFell = entity.getFallingDistance();

Ustawianie odległości opadania

Można to wykorzystać do symulacji innej odległości spadania niż rzeczywista. Bukkit obliczy obrażenia na podstawie nowej odległości spadania.

entity.setFallingDistance(float distance);

Anulowanie obrażeń

Możesz anulować obrażenia od upadku za pomocą EntityDamageEvent

@EventHandler
public void onEntityDamage(EntityDamageEvent e) {
Entity tookDamage = e.getEntity();

DamageCause cause = e.getCause();

if (cause == DamageCause.FALL){
   //Damage was caused by falling, cancel it
   e.setCancelled(true);
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow