Party Link - 群组、分享经验值及更多

Party Link - 群组、分享经验值及更多

PartyLink为Fabric服务器添加了一个自定义多人队伍系统,包括可邀请的群组、MMO风格HUD、共享经验值、玩家头像、角色、设置界面、队伍PvP选项以及服务器端配置。

⚔️ PartyLink

PartyLink 是一款专注于多人的 Fabric 模组,为 Minecraft 添加了一个完整的自定义队伍系统。邀请你的朋友、创建持久化的队伍、共享经验值、管理队伍角色、自定义 HUD、标记位置,并通过精美的 MMO 风格界面一起游玩。

PartyLink 专为 生存服务器、RPG 整合包、合作冒险 以及任何玩家希望以团队形式更好保持联系的多人世界而设计。


✨ 主要特性

  • 👥 自定义队伍系统 - 创建队伍、邀请玩家、接受邀请、离开、踢出和解散队伍。
  • 🖥️ 自定义 MMO 风格 HUD - 直接在屏幕上查看你的队伍成员。
  • 🧑 真实玩家头像 - 在线的队伍成员会显示他们的 Minecraft 皮肤头像。
  • ❤️ 生命值显示 - 查看队伍成员的当前和最大生命值。
  • ⭐ 等级显示 - 在队伍 HUD 中查看玩家等级。
  • 🟢 经验值进度显示 - 显示当前经验值进度以及距离下一级还缺少的经验值。
  • 📏 距离显示 - 查看队伍成员与你相距多远。
  • ⚡ 共享经验值 - 根据可配置的规则与队伍成员共享经验。
  • 🛠️ 经验修补支持 - 共享经验值使用真实的经验球行为,因此经验修补可以修复装备。
  • 🛡️ 队伍 PvP 保护 - 如果启用,可防止队伍内部的误伤。
  • 📍 队伍标记系统 - 为你的队伍标记方块和位置,并带有可见的世界标记。
  • 💾 持久化队伍 - 队伍可以在退出游戏和服务器重启后保持保存状态。
  • 👑 角色与权限 - 支持队长、管理员和成员角色。
  • ⚙️ 设置界面 - 在游戏中配置队伍和个人 HUD 设置。
  • ⌨️ 按键绑定支持 - 使用可配置的按键打开设置或发送标记。
  • 🌍 支持英语和德语 - 客户端界面支持英语和德语。
  • 🧩 公共 API - 其他模组可以与 PartyLink 集成。

👥 队伍系统

PartyLink 为 Minecraft 提供了一个真正的队伍系统。玩家可以邀请他人、加入队伍、管理成员,并让队伍在会话期间保持持久化。

队伍操作

  • 邀请玩家加入你的队伍。
  • 通过命令或可点击的聊天按钮接受队伍邀请。
  • 通过命令或界面离开你的队伍。
  • 如果你有权限,可以踢出成员。
  • 作为队长解散队伍。
  • 如果启用,队伍可以在服务器重启后保持保存状态。

🖥️ 自定义队伍 HUD

PartyLink 包含一个完全自定义的队伍 HUD,具有简洁、未来感的 MMO 风格。它的设计旨在提供真正的多人游戏界面体验,而不仅仅是一个简单的命令系统。

HUD 可以显示:

  • 玩家名字
  • 玩家头像 / 皮肤图标
  • 生命值
  • 等级
  • 经验值进度
  • 距离下一级缺少的经验值
  • 与队伍成员的距离
  • 角色高亮和视觉强调

🎨 个人 HUD 自定义

每位玩家都可以自定义自己的 HUD,而不会改变其他队伍成员的 HUD。

  • 启用或禁用你自己的 HUD。
  • 显示或隐藏玩家头像。
  • 选择 HUD 大小:小、中 或 大。
  • 选择 HUD 颜色:蓝色、绿色 或 红色。
  • 使用游戏内的方向键移动 HUD 位置。
  • 将 HUD 重置为默认位置。

⚡ 共享经验值

PartyLink 可以在队伍成员之间共享经验,使合作游戏更有回报。

共享经验值模式

  • 📍 半径 - 仅与附近的队伍成员共享经验值。
  • 🌎 当前世界 - 与同一世界/维度中的队伍成员共享经验值。
  • 🌀 所有世界 - 与所有维度中的在线队伍成员共享经验值。

半径可在 10 到 200 格 之间配置,具体取决于服务器配置。

共享经验值使用真实的经验球行为进行分配,这意味着 经验修补 仍然可以正确地修复盔甲、工具和武器。


📍 队伍标记系统

PartyLink 包含一个轻量级的队伍标记系统,可在探索、战斗、采矿和地牢探险期间提供更好的沟通。

  • 使用 /party ping 标记你正在查看的方块或位置。
  • 使用可配置的按键绑定 PartyLink → Send Party Ping。
  • 队伍成员会直接在被标记的方块上看到一个小的世界标记。
  • 该标记可以作为客户端覆盖层透过墙壁看到。
  • 标记会显示发送者名字和以格为单位的距离。
  • 客户端聊天保持整洁 - 没有标记刷屏。
  • 服务器所有者可以通过配置启用或禁用标记。

服务器配置

partyPingAllowed=true


🛡️ 队伍 PvP 保护

PartyLink 可以保护队伍成员之间免于伤害。这对于生存服务器、RPG 服务器和合作整合包非常有用,在这些环境中友军伤害应该是可选的。

  • 每个队伍都可以启用或禁用队伍 PvP。
  • 服务器所有者可以决定此功能是否完全可用。
  • 如果在服务器端禁用,该设置将从界面中隐藏。
  • 队伍外的玩家不会受到影响。

服务器配置

partyPvpAllowed=true


👑 角色与权限

PartyLink 包含一个简单的角色系统来管理权限。

👑 队长

  • 可以更改队伍范围的设置。
  • 可以提升或降级管理员。
  • 可以踢出成员。
  • 可以邀请玩家。
  • 可以解散队伍。

🛡️ 管理员

  • 可以邀请玩家。
  • 可以踢出普通成员。
  • 可以管理队伍规则设置。

👤 成员

  • 可以查看队伍。
  • 可以自定义自己的 HUD。
  • 可以离开队伍。

⚙️ 队伍设置界面

自定义的队伍设置界面允许玩家管理队伍范围的规则和个人 HUD 偏好。

使用以下命令打开:

/party settings

或者使用可配置的按键绑定:

PartyLink → Open Party Settings

队伍范围设置

  • 显示或隐藏等级信息。
  • 显示或隐藏生命值信息。
  • 显示或隐藏经验值信息。
  • 显示或隐藏缺少的经验值。
  • 显示或隐藏距离。
  • 启用或禁用共享经验值。
  • 更改共享经验值模式。
  • 更改共享经验值半径。
  • 如果服务器允许,启用或禁用队伍 PvP。

个人 HUD 设置

  • 启用或禁用你自己的 HUD。
  • 显示或隐藏玩家头像。
  • 更改 HUD 大小。
  • 更改 HUD 颜色。
  • 移动 HUD 位置。

⌨️ 命令

命令 描述
/party invite <player> 邀请一名玩家加入你的队伍。
/party accept 接受一个待处理的队伍邀请。
/party leave 离开你当前的队伍。
/party list 显示当前所有队伍成员。
/party kick <player> 如果你有权限,从队伍中踢出一名玩家。
/party disband 作为队长解散队伍。
/party ping 为你所在的队伍标记你正在查看的方块/位置。
/party hud 切换你的队伍 HUD。
/party hud on 启用你的队伍 HUD。
/party hud off 禁用你的队伍 HUD。
/party settings 打开 PartyLink 设置界面。

🛠️ 服务器配置

服务器所有者可以通过以下文件配置 PartyLink:

config/partylink.properties

可用选项

sharedXpAllowed=true partyPvpAllowed=true partyPingAllowed=true maxSharedXpRadius=200 keepParties=true maxPartySize=8 serverLanguage=EN

选项 描述
sharedXpAllowed 控制服务器上是否可以使用共享经验值。
partyPvpAllowed 控制队伍是否可以使用队伍 PvP 保护。
partyPingAllowed 控制是否可以使用队伍标记。
maxSharedXpRadius 允许的最大共享经验值半径。限制在 10-200 格之间。
keepParties 控制队伍是否在退出游戏或服务器重启后保持保存状态。
maxPartySize 最大队伍人数。最高可设置为 8 名玩家。
serverLanguage 服务器端消息语言。支持 EN 和 DE。
   

 🧩 面向模组开发者的 PartyLink API 

PartyLink 包含一个公共 API,允许其他模组与队伍系统集成,而无需访问内部类。

API 包

com.mki.partylink.api

包含的 API 类

  • PartyLinkApi
  • PartyLinkEvents
  • PartyView
  • PartySnapshot
  • PartyRole
  • PartyShareMode
  • PartyXpShareContext

基本用法

PartyLinkApi.isInParty(player);
PartyLinkApi.areInSameParty(playerA, playerB);
PartyLinkApi.getParty(player);
PartyLinkApi.getPartyMembers(player);
PartyLinkApi.getOnlinePartyMembers(player);
PartyLinkApi.getRole(player);
PartyLinkApi.isOwner(player);
PartyLinkApi.isManager(player);

友军伤害 / 队伍 PvP

if (!PartyLinkApi.canPartyMembersDamage(attacker, victim)) { // 取消自定义伤害 }

共享经验值集成

PartyLinkApi.shareExperience(sourcePlayer, amount);

这会遵循 PartyLink 的共享经验值设置、服务器配置、半径/模式以及与经验修补兼容的经验球行为。

事件

PartyLinkEvents.MEMBER_JOINED.register((party, memberId) -> { // 对队伍成员加入做出反应 });

可用事件

  • PARTY_CREATED
  • PARTY_DISBANDED
  • MEMBER_JOINED
  • MEMBER_LEFT
  • MEMBER_KICKED
  • ROLE_CHANGED
  • SETTINGS_CHANGED
  • SHARED_EXPERIENCE

API 版本

PartyLinkApi.API_VERSION

当前 API 版本:1  

 


🌍 语言支持

  • 支持英语客户端语言。
  • 支持德语客户端语言。
  • 服务器端消息可以配置为英语或德语。

📦 安装

PartyLink 是一个 Fabric 模组,应同时安装在服务器和客户端上以获得完整体验。

  • 安装 Fabric Loader。
  • 安装 Fabric API。
  • 将 PartyLink 放入 mods 文件夹。
  • 在服务器和所有想使用自定义界面的客户端上安装它。

💙 结语

PartyLink 旨在让 Minecraft 多人游戏感觉更紧密、更协作、更精致。无论你是在探索、战斗、挖矿、刷经验,还是在 RPG 服务器上游玩,PartyLink 都能为你的团队提供像真正队伍一样一起游玩的工具。

创建队伍。共享经验。标记位置。保护队友。一起游玩。