跳到主要内容

Extractioncraft 对局流程

本页记录了从对局创建的那一刻起,到实例世界被删除为止实际发生的一切,包括各类计时器、撤离规则,以及玩家丢失装备的方式。

创建对局​

/exc createMatch <contentPackage.yml> 会把内容包的 betterStructuresModulesContainerName 交给 BetterStructures,由它生成一个全新的实例世界。该命令会先检查 BetterStructures、EliteMobs 和 FreeMinecraftModels 是否已加载,玩家是否已经在对局中或正在等待某个对局,以及内容包及其模块生成器是否已启用。

世界生成期间,玩家会被保留给这个对局,无法加入或创建其他对局。如果生成耗时超过 15 分钟、玩家断开连接或执行 /exc leave,或者某个配套插件不再可用,生成会被取消,建了一半的世界也会被删除。生成完成后:

  • 会为该世界创建一个 ExtractionMatch,并以等待中状态启动。
  • 执行该命令的玩家会被加入对局,并在下一个 tick 被传送到新世界中随机选定的一个出生点。如果地图没有任何出生点,则会取消该对局。

进入对局的玩家会被切换为冒险模式。切换之前,其原先的位置和游戏模式会被保存,并在离开时恢复。玩家在对局中保留自己的物品栏,不会有任何物品被另行存放。

不存在队列,也没有匹配系统。对局之所以存在,是因为有人创建了它。

等待玩家​

没有加入命令

/exc createMatch 是进入对局的唯一内置方式。Extractioncraft 没有注册 join 或观战子命令,因此一个对局通常恰好只容纳一名玩家:创建它的那个人。其他插件可以通过开发者 API 接纳玩家或观战者;下列规则适用于他们。

在对局等待期间:

  • 接纳的玩家数量最多可达内容包的 maxPlayers(所有预制的 Kobold Mines 内容包均为 8),已满的实例会用 failedToJoinOngoingMatchAsPlayerInstanceIsFull 拒绝。
  • 一旦对局进入倒计时或已开始,其他人便无法再以玩家身份加入。迟到者会收到 failedToJoinOngoingMatchAsPlayerMessage。
  • 只有当内容包设置了 spectatable: true 时才接受观战者。所有预制内容包都将其保留为 false。
  • 此时离开没有代价:物品清除规则只在对局开始后才生效。

开始对局​

对局内的任何玩家都可以执行 /exc start。

  • 如果在场人数少于 minPlayers,对局会拒绝开始,并通过 matchFailedToStartNotEnoughPlayersMessage 告知所有人($amount 会被替换为所需人数)。
  • 否则倒计时以一秒间隔依次显示 2、1、0,在第三次更新时结束,即第一次更新约两秒之后。
  • 如果在倒计时期间玩家人数降到 minPlayers 以下,对局会被中止并直接结束。
  • 倒计时开始后再次执行 /exc start 不会有任何效果。

倒计时完成后,对局正式开始。与红石的物理交互被解锁,地图的实例 Boss 生成,箱子和木桶被放置,15 分钟计时器、收缩的世界边界和指南针 Boss 血条随之启动。装饰性的(不可用)撤离点也会同时被粘贴进来。

计时器​

计时器时长效果
对局计时器15 分钟在 Extractioncraft 侧边栏计分板上显示为 Timer MM:SS,每秒刷新一次。到 00:00 时对局结束。
撤离点解锁开始后 1 分钟每个撤离点的可用版本连同其拉杆一起被粘贴进来。
撤离窗口20 秒由拉动撤离点的拉杆开启。
打开容器3 秒搜刮箱子或木桶时你必须保持静止的时间。

对局计时器到达 00:00 时,对局结束,仍在其中的每名玩家都会按撤离失败处理并被移出。参见死亡与物品损失。

世界边界​

边界以生成地图的正中心为中心,初始宽度与地图相同。BetterStructures 根据模块生成器报告该宽度为 (2 × radius − 1) × moduleSizeXZ,预制的 Kobold Mines 地图为 384 格。边界每秒按剩余时间比例重新设置为初始宽度的相应大小,因此会稳定收缩,并在 15 分钟计时器结束时缩到 1 格。

边界的警告距离被设为当前边界宽度减去 50,最低为 0。由于 Minecraft 将警告距离理解为"距边界多少格开始出现屏幕红色染色",在边界宽度小于 100 格之前,红色警告覆层会覆盖整张地图;之后只会在靠近边缘时出现。

由于最难的区域位于地图中央(参见怪物击杀战利品),不断收缩的边界会稳步把玩家推向地图中更难也更有回报的区域。边界伤害仍然有效,致命的边界伤害会通过正常的对局死亡流程移除玩家。

撤离​

  1. 找到一个撤离点。屏幕顶部的 Boss 血条条是一条指南针带:它会为你视线 90° 范围内的每个撤离点显示一个 ⦿ 标记,大约每个字符 3°。这条带子在对局开始时就会出现,但在最初的一分钟内保持为空;标记只会为可用的撤离点绘制,而那些撤离点要等解锁计时器触发后才会被放置。
  2. 右键点击撤离点上的拉杆。拉杆会被移除,10 格范围内的每名玩家都会收到 "You have triggered an exit!" 提示,并为该撤离点开启一个单次 20 秒的撤离窗口。
  3. 站在撤离区域内,即以撤离点方块为中心的 7 × 7 × 7 方块立方体。当你处于其中时,会看到 Extracting! in N seconds!。
  4. 走出去会显示 Extraction cancelled!,但窗口仍在继续计时。在它关闭之前重新回到里面依然算数。
  5. 窗口关闭时,所有站在里面的人会同时撤离:Victory / Extraction successful!。他们会被移出对局,并保留身上携带的一切。
每个撤离点一次窗口

每个撤离点在每场对局中只开启一次窗口。处理器接受位于尚未使用过的撤离点 10 格以内的拉杆。已使用过的撤离点附近的拉杆不会有任何特殊作用,只会像普通拉杆一样切换。

死亡与物品损失​

Extractioncraft 的对局给每位玩家一条命,没有重生,也没有死亡箱子。

  • 会致死的伤害会被直接取消。取而代之的是,该玩家被移出对局。在进行中的对局里,会先清除其药水效果、着火、冰冻状态和摔落距离。
  • 被移出时,玩家会恢复为保存的游戏模式,并被传送回加入前站立的位置。生命值不会恢复,但对局结束时仍在其中的玩家除外。
  • 掉出世界底部的玩家会被放回其最后站立过的方块,最多连续三次。之后虚空就会像其他伤害一样可以杀死他们。

对局进行后,玩家离开的方式决定其物品的去向:

你离开的方式保留战利品?
在撤离点成功撤离是,并灵魂绑定
服务器关闭或 /exc reload是,并灵魂绑定
在进行中的对局里死亡、执行 /exc leave、/exc quit 或断线否,使用默认配置时
15 分钟计时器结束时仍在其中否,使用默认配置时
在对局仍处于等待或倒计时阶段时离开是,不做任何改动

当 deleteItemsOnFailToExtract 为 true(默认值)时,"否"会清空整个物品栏、光标上的物品以及合成格。将其设为 false 时,这些离开方式会改为灵魂绑定物品。在 EliteMobs 灵魂绑定附魔启用期间,灵魂绑定会把每件未绑定的物品绑定到离开的玩家;已经绑定的物品保留其原有所有者。

因人数不足 minPlayers 而中止倒计时时仍在其中的玩家,会在对局结束时被移出,并保留其物品原封不动,因为对局从未正式开始。物品损失只适用于对局正式开始时就在其中的玩家。

世界保护​

实例对局世界在其整个生命周期内都受到保护:

  • 玩家无法破坏或放置方块、使用骨粉、倒空桶、编辑告示牌,或破坏地形。爆炸、火焰、液体流动、树叶腐烂和原版生物生成都会被阻止,鞘翅滑翔也被禁用。
  • 箱子、木桶和其他容器无法打开;对局容器按容器战利品中的方式搜刮。门、活板门和栅栏门无法使用。物品展示框、盔甲架和花盆受到保护。
  • 压力板等与红石的物理交互会被阻止,直到对局开始。该设置不会阻止所有类型的红石交互。
  • 当内容包设置 pvpEnabled: false 时,PvP 被阻止。
  • 对局中的玩家无法通过任何非对局自身发起的方式传送,包括命令、末影珍珠和紫颂果。其他玩家无法传送进对局世界,除非拥有 extractioncraft.match.bypass(默认:op)。
  • 在对局倒计时或进行期间,在对局世界中发现的其他没有 extractioncraft.match.bypass 的人都会被送到主世界出生点。

管理员可用 /exc protection bypass 绕过读取玩家绕过标志的方块和交互检查。它不会绕过对局传送限制、PvP 禁令或所有世界规则。

结束对局​

当最后一名活跃玩家被移出(无论原因是撤离、死亡、离开还是断线)、15 分钟计时器结束,或倒计时期间人数跌破最低玩家数时,对局结束。仍在其中的所有人都会被治疗并移出,Extractioncraft 会停止该对局的边界、指南针、计分板和粒子任务,世界中剩下的其他人(例如拥有绕过权限的管理人员)会被送到主世界出生点。

随后,结束对局会请求永久删除其临时世界。如果世界无法卸载,则跳过删除;插件启用时,文件夹删除会等待五秒,并确认世界没有再次加载。

当插件被禁用时对局也会被拆除,这包括 /exc reload 和服务器关闭。仍在生成中的对局会被取消,进行中对局里的玩家会按上文所述保留其物品。