NPCs - Chunk7w/mappet GitHub Wiki

NPC 是 Mappet 中可用于实现大量效果的实体。他们可以是商人、对话者、任务的提供者、同伴、敌人、老板等等。你可以用他们做很多事情,篇幅有限无法逐一列举。NPC 利用了伪装功能,使你能够自由地让他们看起来像你想要的任何样子。

可以通过 /mp npc summon 命令,或通过 NPC 工具生成 NPC,并通过 /mp npc 命令或使用 NPC 工具进行编辑。

可以在 Mappet 仪表盘内,对所有 NPC 进行管理。选择仪表盘左侧边栏的第三个面板,即可打开 NPC 编辑器。

编辑

当你选中或创建了一个 NPC后,你就会看到一个类似这样的编辑器:

NPC 编辑器

你可以在这里编辑 NPC 的状态,以及个别状态的选项。在该编辑器中,可以看作你是在为 NPC 的行为创建和配置蓝图。

主要选项

以下是上文提到的主要选项的描述:

  • 寻路距离 可以设置 NPC 在世界范围内穿梭和寻找目标的最大路径距离。这个数字越大,使用的 CPU 资源就越多。
  • 唯一的 (尚未启用) 将允许使 NPC 成为唯一的存在,这意味着服务器会负责它的生成,从而避免发生事故的可能。

状态

在主属性编辑器的左侧,可以看到状态列表。该列表可以让你创建同一个 NPC 的不同变体,并在以后使用 /mp npc state 命令来改变这些状态。与 Mappet 内其他地方一样,你可以对着列表点击右键,来添加和删除状态,并点击列表中的条目来选择一个状态进行编辑。

default 是你省略创建状态这一步时,Mappet 会使用的默认状态名称。

选项

以下是所有选项的分类:

常规选项

  • 阵营 - 该 NPC 所属阵营的 ID。
  • NPC 伪装 - 该 NPC 使用的伪装。
  • NPC 掉落 - 该选项用于设置 NPC 死亡时掉落的物品。按 ➕ 添加掉落属性,并在这里添加一个物品组,并设置介于 0100 之间的掉落几率。你可以右键点击掉落的物品来打开下拉菜单,并将其删除。
  • XP 掉落 - 该选项用于设置实体掉落的经验数量。有关你想让 NPC 掉落多少经验的更多信息,请参考该页面

生命值选项

  • 最大 HP - 该选项决定了 NPC 能够拥有多少的生命值。2 是一个完整的心(20 是玩家的默认生命值)。
  • 初始 HP - 该选项决定了 NPC 在生成时拥有多少生命值。当然,它不能大于最大 HP
  • HP 恢复延迟 - 该选项决定了 NPC 开始恢复一颗心的血量之前(即被击中后)需要经过多少 Tick(20 Tick = 1 秒)。
  • HP 恢复频率 - 该选项频率决定了在多少个 Tick 后会再生一颗心的生命值。

伤害

  • 伤害 - 该选项决定了 NPC 在攻击敌人时能造成多少颗心的伤害。
  • 摔落伤害 - 该选项决定了 NPC 是否会受摔落伤害。
  • 火焰伤害 - 该选项决定了 NPC 是否会受到火焰伤害。
  • 无敌 - 该选项决定了 NPC 是否能够受到伤害。
  • 可击杀 - 该选项决定了 NPC 是否可以被击杀。这会使得 NPC 只能被 /kill 命令杀死。生命值仍然可以被消耗到接近于 0 的数值。

运动

  • 速度 - 该选项决定了 NPC 行走、追赶目标、巡逻等行为的速度。1 为 Minecraft 玩家的默认行走速度。
  • 是否会游泳 - 该选项决定了 NPC 是否能够浮在水面。
  • 标定点 - 该开关用于切换标定点的逻辑。启用时,NPC 会返回至该开关选项下指定的方块位置。方块位置下面的参数是标定点的半径,NPC 可以在该范围内安全地徘徊,直到它返回标定点。
  • 巡逻点 - 在巡逻点选项中,你可以为 NPC 设置巡逻。标签右侧的 ➕ 用于添加巡逻点。在添加一个点时候,它会使用玩家当前的位置。你可以通过点击右键,并选择 ➖ 移除方块位置 来移除该点。
  • 循环巡逻 - 该选项用于切换 NPC 是否会回到第一个点,而非原路返回。假设我们有 3 个点。禁用该选项时,NPC 会以 1、2、3、2、1、2、3 的顺序巡逻,而启用循环巡逻后,NPC 会以 1、2、3、1、2、3 的顺序巡逻。
  • 跟随目标 - 该选项用于输入用户名或 @r 设置随机对象,来让 NPC 跟着玩家。

行为

  • 看向玩家 - NPC 是否会看向玩家
  • 环顾四周 - NPC 是否会在静止状态时环顾四周
  • 徘徊 - NPC 是否会随机徘徊游走
  • 最后还有很多的触发器
    • 初始化 NPC 时触发 - 在 NPC 通过命令或 NPC 工具被召唤出来时触发的动作。
    • 与 NPC 交互时触发 - 当玩家右键 NPC 时触发的动作。
    • NPC 受到伤害时触发 - 当 NPC 受伤时触发的动作。
    • NPC 死亡时触发 - 当 NPC 死亡时触发的动作
    • NPC 每 Tick 进行触发 - 当 NPC 存在时,每过 1 Tick 便会触发的动作。
    • NPC 锁定目标时触发 - (尚未启用) 当 NPC 锁定一个实体触发的动作。