队伍系统
EliteMobs 队伍允许玩家共同进入地牢、共享附近击杀目标的进度、为 Elite 装备进行需求/贪婪投掷,并查看彼此的状态。普通邀请最多允许五名成员。队伍仅在当前会话有效:成员关系不会保存,玩家离队或下线时会立即移除。
该系统在 Party.yml 中默认启用,所有队伍命令均使用权限 elitemobs.party(默认 true)。
创建和加入队伍
| 命令 | 说明 |
|---|---|
/em party create | 创建队伍并成为队长 |
/em party invite <player> | 邀请在线玩家;任意成员都可邀请,尚未组队时会自动创建队伍 |
/em party accept | 接受当前尚未过期的邀请 |
/em party leave | 离开当前队伍 |
/em party menu | 打开基于背包界面的队伍控制面板 |
/em party hideinteractionhint | 为你永久隐藏右键队伍提示 |
普通队伍有一名队长,最多另有四名受邀成员(MAX_MEMBERS 为 5)。自动组建的地牢队伍可以超过此邀请上限,以容纳已获准进入的完整名单。队长离队后,下一名成员接任。邀请默认在 60 秒后过期。玩家同时只能有一个有效邀请,新的邀请不会替换它。成员离队或断开连接后,其发出的邀请会失效。最后一名成员离开时队伍解散。
右键邀请提示
右键点击另一名玩家会显示一行聊天提示,其中带有可点击的 [INVITE] 和 [Don't show again] 按钮。当目标是 NPC、不具备 elitemobs.party、已有待处理邀请、已在某个队伍中,或者你自己的队伍已满时,该提示会被跳过。每名玩家都有一个个人冷却 playerInteractionHintCooldownSeconds(默认 300 秒),而 /em party hideinteractionhint 会为该玩家永久关闭此提示(保存在玩家的持久化数据中)。
背包队伍菜单
基岩版玩家、启用了 onlyUseBedrockMenus 的服务器,以及关闭了书本菜单的玩家,会收到背包形式的队伍操作提示。邀请和准备确认仍会发送聊天按钮,同时打开背包提示;右键提示则以背包提示替代聊天。操作包括邀请、邀请玩家的选择器(每页 45 个头颅)和地牢准备确认。队伍系统启用时,具有 elitemobs.party 权限的玩家可通过 /em party menu 打开菜单;待处理的准备确认优先,其次是待处理的邀请。
共同进入地牢
实例和动态地牢
任意成员选择实例地牢时,EliteMobs 会记录当前完整成员名单并启动可点击的准备确认。发起者自动准备完成,并收到 CANCEL 按钮,以便取消误选的地牢;其余成员收到绑定到本次启动令牌的 READY 和 DECLINE。
提示会显示地牢与难度;动态地牢还会显示所选等级。准备确认默认持续30秒。每个队伍同时只能有一次确认或启动流程。
移动任何人之前,EliteMobs 会验证整个队伍:
- 所有成员在线且仍属于同一队伍
- 地牢有足够的玩家空位
- 如果内容包配置了权限,每名成员都拥有该权限
- 无人已在其他实例中
- 实例和世界能够成功准备
- EliteMobs 可取消的
MatchJoinEvent预检接受每名成员
拒绝、超时、成员变化或验证失败都会取消整个队伍的进入。EliteMobs 不会故意只接纳部分队员。若实例世界克隆已排队,队伍会保留启动名额,直到操作成功、失败或取消。
EliteMobs 中名称相似的 PlayerJoinDungeonEvent 不属于该预检。它是一个不可取消的通知,只有在玩家已被接纳之后才会触发。
聊天中显示的准备与拒绝命令是 /em party ready <token> 和 /em party decline <token>。生成的令牌能防止旧按钮去确认另一次启动。
附魔挑战地牢不会带入队伍,因为挑战会临时占用发起者的物品。
入场后的队伍
当第二名非旁观参与者进入地牢时,系统会将已获准进入的玩家组成队伍。单人入场不会改变现有队伍关系,也不会创建单人队伍。如果预先组建的队伍全员都属于该地牢,则保留该队伍;否则,会将入场者从原有队伍中重新编组。
此操作在入场后执行,因此被拒绝或取消的入场不会改变成员关系。移除地牢会清除其关联,但会话队伍仍会保留,供全员进入下一个地牢。
开放世界地牢
选择开放世界地牢后,系统会先验证完整成员名单、内容包权限及活动实例状态,再为每名成员启动普通的安全传送倒计时。可取消的传送检查必须先接受所有成员。启用计时器时,每名成员仍可移动来取消自己的倒计时,因此开放世界传送不能保证全员都到达。
共享任务进度
成员获得击杀计数时,附近队友会为匹配的进行中击杀目标获得进度,包括指定自定义 Boss 的目标。其他成员必须在线、处于同一世界,并位于击杀地点的 sharedProgressRange 范围内(默认128格)。
任务所有权仍属于个人。队伍不会代为接受或提交任务、领取其他成员的奖励,也不共享收集物品、NPC 对话或竞技场参与。共享进度的接收者必须已加载玩家数据。如果所在比赛已超过等待或启动阶段,未列入该比赛初始参与者名单的成员会被排除。仍需满足距离条件;共享检查不会单独比较接收者的实例与击杀来源实例。
队伍战利品
附近至少有两名队员时,普通 Elite 装备、特殊 Elite 装备和符合条件的自定义装备会进入共享的需求 / 贪婪投票。普通生成装备要求符合条件的直接攻击者造成至少相当于 Elite 最大生命值 10% 的伤害;附近参与分配的成员本人无需达到此门槛。金币、Elite Scroll 和非装备类自定义物品仍为个人战利品。
每件物品会记录添加时符合条件的成员。地牢 Boss 锁定会在玩家进入投票前应用。没有新掉落时,投票窗口在60秒后结束;新掉落会刷新该时间,但 lootVoteMaximumLifetimeSeconds 默认将一次投票的总时长限制为120秒。
队伍侧边栏
玩家属于队伍时,组合侧边栏会显示:
- 按固定顺序排列的队长与成员
- 当前/最大生命值的数字和倒地标记
- 参与同一实例地牢的成员的剩余生命次数
- 空间允许时,查看者正在跟踪的任务
- 交替显示的
/em party invite <player>和/em party leave提示
sidebarEnabled: false 只禁用该组合侧边栏;队伍仍然工作,并改用普通 EliteMobs 任务计分板。行格式、倒地/剩余生命标记和操作轮换间隔可在 Party.yml 中配置。生命值数字使用内置颜色渐变;保留的 sidebarHealthGlyph 和 sidebarHealth*Color 键不会控制此数字显示。
主要设置
| 键 | 默认值 | 用途 |
|---|---|---|
enabled | true | 启用会话队伍 |
sharedProgressRange | 128.0 | 同世界共享击杀进度和战利品的范围 |
inviteTimeoutSeconds | 60 | 邀请有效期(最小5) |
dungeonReadyCheckTimeoutSeconds | 30 | 准备确认有效期(最小5) |
lootVoteMaximumLifetimeSeconds | 120 | 队伍投票最长时限(最小60) |
sidebarEnabled | true | 启用组合侧边栏 |
sidebarRotationSeconds | 10 | 两种操作提示间隔秒数(最小 3) |
playerInteractionHintsEnabled | true | 右键点击其他玩家时显示队伍提示 |
playerInteractionHintCooldownSeconds | 300 | 同一名玩家再次收到右键提示前的最短间隔(最小 1) |
当前消息和侧边栏键请参阅 EliteMobs 配置设置。