# 玩家坠落管理神岛版
### 介绍
管理玩家的坠落，实时计算坠落开始到结束期间的数据并返回。

![](https://static.codemao.cn/pickduck/BJviPmgmyg.gif?hash=lgmXu6JBdb56poI-YT-M9-you943)


### 说明
1. 由于本监听方式是基于 world.onTick ，所以Y坐标可能会有±2的误差。
2. 当玩家掉落超过阈值时，会触发一个回调函数，你可以在这里对玩家进行一些操作，例如对玩家造成伤害。
3. 你可以在代码中设置是否启用日志记录，以方便调试。
4. 除了全局阈值和全局回调函数，还可以自定义每个玩家的坠落阈值和触发回调函数。

### 示例代码
```JavaScript
import PlayerFallManager, { onThresholdExceeded } from "@dao3fun/player-fall-manager";

// 创建一个PlayerFallManager实例来管理玩家的坠落情况
const manager = new PlayerFallManager({
    // 设置Y轴方向的坠落全局阈值
    thresholdY: 4.5,
    // 当玩家坠落超过阈值时执行的全局回调函数
    onThresholdExceeded: (handle: onThresholdExceeded) => {
        // 对玩家造成伤害
        handle.entity.hurt(20);
    }
});
// 启用日志记录以便于调试
manager.isLog = true;

// 当玩家加入世界时执行的事件处理函数
world.onPlayerJoin(({ entity, tick }) => {
    // 允许玩家受到伤害
    entity.enableDamage = true;
    // 将玩家添加到坠落管理器中进行管理
    manager.addPlayer(entity);

    // 或者以另一种方式添加玩家，这种方式允许为每个玩家自定义坠落阈值和伤害
    /**
    manager.addPlayer({
        entity,
        thresholdY: 6,
        onThresholdExceeded: (handle: onThresholdExceeded) => {
            // 自定义伤害值
            handle.entity.hurt(100);
        }
    })
    */
});
```
