@dao3fun/player-fall-manager
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

玩家坠落管理神岛版

介绍

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

说明

  1. 由于本监听方式是基于 world.onTick ,所以Y坐标可能会有±2的误差。
  2. 当玩家掉落超过阈值时,会触发一个回调函数,你可以在这里对玩家进行一些操作,例如对玩家造成伤害。
  3. 你可以在代码中设置是否启用日志记录,以方便调试。
  4. 除了全局阈值和全局回调函数,还可以自定义每个玩家的坠落阈值和触发回调函数。

示例代码

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);
        }
    })
    */
});

Readme

Keywords

Package Sidebar

Install

npm i @dao3fun/player-fall-manager

Weekly Downloads

181

Version

1.0.2

License

ISC

Unpacked Size

20.9 kB

Total Files

5

Last publish

Collaborators

  • viyrs
  • surfish
  • tobylai