UNPKG

@dao3fun/player-fall-manager

Version:

管理玩家的坠落,实时计算坠落开始到结束期间的数据并返回。

51 lines (43 loc) 1.86 kB
# 玩家坠落管理神岛版 ### 介绍 管理玩家的坠落,实时计算坠落开始到结束期间的数据并返回。 ![](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); } }) */ }); ```