Ricerca…


Osservazioni

Al momento non esiste un modo coerente per evitare sofferenza gravitazionale, anche se annulli il suo movimento, il lato client del giocatore cercherebbe ancora di cadere prima che l'evento venga annullato.

Entity Falling Distance

La distanza di caduta delle entità è la distanza in cui l'entità è caduta senza raggiungere un blocco.

Può essere usato per calcolare danni diversi dalla caduta, o attivare un effetto dopo una grande caduta.


Recupero della distanza di caduta

float distanceFell = entity.getFallingDistance();

Impostazione della distanza di caduta

Questo può essere usato per simulare una distanza di caduta diversa da quella reale. Bukkit calcolerà il danno usando la nuova distanza di caduta.

entity.setFallingDistance(float distance);

Annullare il danno

È possibile annullare un danno da caduta utilizzando 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow