org.bukkit.entity.Entity#getFallDistance ( )源码实例Demo

下面列出了org.bukkit.entity.Entity#getFallDistance ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ProjectAres   文件: FallTracker.java
@Override
public @Nullable FallInfo resolveDamage(EntityDamageEvent.DamageCause damageType, Entity victim, @Nullable PhysicalInfo damager) {
    FallState fall = getFall(victim);

    if(fall != null) {
        switch(damageType) {
            case VOID: fall.to = FallInfo.To.VOID; break;
            case FALL: fall.to = FallInfo.To.GROUND; break;
            case LAVA: fall.to = FallInfo.To.LAVA; break;

            case FIRE_TICK:
                if(fall.isInLava) {
                    fall.to = FallInfo.To.LAVA;
                } else {
                    return null;
                }
                break;

            default: return null;
        }

        return fall;
    } else {
        switch(damageType) {
            case FALL:
                return new GenericFallInfo(FallInfo.To.GROUND, victim.getLocation(), victim.getFallDistance());
            case VOID:
                return new GenericFallInfo(FallInfo.To.VOID, victim.getLocation(), victim.getFallDistance());
        }

        return null;
    }
}
 
源代码2 项目: PGM   文件: FallTracker.java
@Override
public @Nullable FallInfo resolveDamage(
    EntityDamageEvent.DamageCause damageType, Entity victim, @Nullable PhysicalInfo damager) {
  FallState fall = getFall(victim);

  if (fall != null) {
    switch (damageType) {
      case VOID:
        fall.to = FallInfo.To.VOID;
        break;
      case FALL:
        fall.to = FallInfo.To.GROUND;
        break;
      case LAVA:
        fall.to = FallInfo.To.LAVA;
        break;

      case FIRE_TICK:
        if (fall.isInLava) {
          fall.to = FallInfo.To.LAVA;
        } else {
          return null;
        }
        break;

      default:
        return null;
    }

    return fall;
  } else {
    switch (damageType) {
      case FALL:
        return new GenericFallInfo(
            FallInfo.To.GROUND, victim.getLocation(), victim.getFallDistance());
      case VOID:
        return new GenericFallInfo(
            FallInfo.To.VOID, victim.getLocation(), victim.getFallDistance());
    }

    return null;
  }
}