Skip to content

@dao3fun/player-fall-manager 简介

@dao3fun/player-fall-manager 是一个专为神奇代码岛设计的玩家坠落管理工具,它能够实时追踪并记录玩家从坠落开始到结束期间的各项数据,并即时反馈这些信息。该系统不仅支持为每位玩家设定独特的阈值和触发回调函数,同时也允许设置通用的阈值和回调机制,以满足多样化的管理需求。

示例动画

功能详解

  • 基于world.onTick的监听机制:由于采用此监听方式,Y 坐标的精确度可能存在 ±2 的误差,但足以满足大多数坠落管理的需求。
  • 灵活的回调机制:当玩家坠落超过预设阈值时,系统将自动触发回调函数,允许开发者在此执行各种操作,如施加伤害等。
  • 日志记录功能:开发者可在代码中轻松启用或禁用日志记录,以便更有效地进行调试和监控。
  • 个性化设置:除了全局性的阈值和回调函数外,还支持为每个玩家单独设置坠落阈值和触发回调函数,实现更精细化的管理。

安装指南

ArenaPro 插件安装步骤

  1. 在 VSCode 编辑器中,按下Ctrl + Shift + P快捷键,打开命令面板。
  2. 输入“ArenaPro”进行搜索,并执行ArenaPro: 查看神岛NPM包命令。
  3. 在弹出的搜索框中输入playerfallmanager,进行精确搜索。
  4. 点击搜索结果,然后在弹出的窗口中点击“确认安装”,等待安装完成即可。

npm 命令安装步骤

你也可以在终端中直接运行以下命令来安装:

bash
npm install @dao3fun/player-fall-manager

使用示例

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