PingIt

PingIt

无需打字或说话即可与团队沟通。指向、点击,让标记替你说话。

游戏玩法

Discord


PingIt

Hytale 的空间标点系统。 无需打字或说话即可与团队沟通。点击、指向,让标点替你传达信息。


功能简介

装备 标点装置,按下按键即可在世界中放置一个彩色标记。队友会看到从标点位置升起的彩色光束,听到空间音效,并在 HUD 上看到距离和方向信息。适用于方块、地形和实体。


标点类型

类型 颜色 用途
信标 白色 通用呼叫标记
危险 红色 警告威胁
移至此地 青色 指引队友前往某位置
攻击 黄色 标记战斗目标
标记点 绿色 非竖向标记(无光束)

操作

快速标点

按下你的标点键(默认:鼠标中键)即可立即放置默认标点类型。

标点选轮

按下选轮键(默认:E)打开环形菜单。选择标点类型后松开按键,标点将放置在你准星所指的位置。

快速绑定

直接将特定标点类型绑定到按键上。例如:鼠标1始终标记危险,Q 始终标记攻击。可通过 GUI(/pingit binds)或命令(/pingit set danger=mouse1)配置。

独立标点

无需手持标点装置即可发射信标标记点。使用 /pingit b(信标)或 /pingit m(标记点)开启。默认关闭——需要快速标点且不想切换物品时开启。关闭会移除当前激活的标点。使用 /pingit b key <键> 更改按键(默认:鼠标中键)。

副手支持

Q、E 和鼠标中键可在标点装置置于副手栏时使用。其他按键需要标点装置在主手。


视觉效果

  • 彩色光束从每个标点位置升起(标记点除外)。在 1000+ 方块外可见。光束粗细随距离缩放,确保远程可见。
  • 广告牌标签浮动在危险、攻击和移至此地的光束标点上方——显示标点类型的 PNG 精灵。标签在生成时淡入,到期时淡出。可按玩家切换开关。
  • 标记点脉冲用于标记点类型(绿色光晕,无光束)。
  • 终结爆裂在标点到期或清除时出现。
  • 接近清除环当有人走到标点处时出现。
  • 指南针标记出现在世界地图上,显示所有激活的标点。

音效设计

每个动作都有空间 3D 音频:

  • 传送门爆裂在标点创建时
  • 光束嗡嗡声在光束标点激活时
  • 标记点环境音在标记点标点激活时
  • 终结爆裂在标点到期时
  • 取消提示音在手动取消时
  • 接近嗖声在走进标点时

所有音效遵从玩家的音量设置和静音列表。服务器管理员可以通过编辑 Mods/PingIt/Server/Audio/SoundEvents/SFX/PingIt/ 中的 SoundEvent JSON 文件来调整单个音效的音量。


HUD

范围显示

显示你追踪标点的距离、方向和类型。随着你移动实时更新。5秒无操作后自动隐藏以免干扰。

附近标点(可选)

开启时,其他玩家在你附近放置标点时会显示弹出通知。显示标点玩家名称、标点类型、距离和方向。

焦点追踪

追踪你自己的标点或切换到队友的:

  • /pingit focus me - 追踪自己的标点
  • /pingit focus <玩家> - 追踪队友的标点
  • /pingit focus last - 在当前和上一个目标之间切换

玩家个人设置

每个设置均按玩家独立保存,跨游戏会话持久:

  • 音量 - 将 PingIt 所有音效缩放到 0(静音)至 3(最大)
  • 静音玩家 - 静音特定玩家的标点音频,或静音自己
  • 隐藏玩家 - 完全隐藏特定玩家或所有玩家的标点(视觉+音频)
  • 按键绑定 - 完全自定义标点和选轮按键
  • 快速绑定 - 将特定标点类型映射到特定按键
  • 插槽模式 - SINGLE(一次一个标点)或 MULTI(同时激活一个信标+一个标记点+一个特殊标点)
  • 标签 - 显示或隐藏光束标点上方的广告牌标签
  • 接近清除模式 - 仅你自己清除你的标点,或任何人都可以
  • 默认标点模式 - 快速标点放置信标或标记点
  • 粘滞模式 - 一次性选择或重复上一次选择
  • 选轮位置 - 将标点选轮拖动到屏幕任意位置
  • 通知 - 切换标点提醒开关

命令

基础

命令 描述
/pingit 插件信息
/pingit help 完整命令列表
/pingit give 获取标点装置
/pingit clear 清除当前激活的标点

音效与静音

命令 描述
/pingit vol <0-3> 设置你的标点音量
/pingit mute <玩家/all> 静音某个玩家的标点音频
/pingit mute self 静音你自己的标点音效
/pingit unmute <玩家/all/self> 取消静音

可见性

命令 描述
/pingit hide <玩家/all> 隐藏标点(视觉+音频)
/pingit unhide <玩家/all> 取消隐藏标点

按键绑定

命令 描述
/pingit binds 打开按键绑定 GUI(支持撤销/重做、重置默认、插槽模式和标签切换)

模式

命令 描述
/pingit once 一次性模式(默认)
/pingit last 重复上一次标点类型
/pingit focus <玩家/last> 在 HUD 中追踪标点
/pingit notifs 切换通知

附近标点

命令 描述
/pingit ui nearby allow 启用附近标点弹出通知
/pingit ui nearby disallow 禁用
/pingit ui nearby count <1-20> 最大标点显示数量
/pingit ui nearby range <15-1000> 检测半径

独立标点

命令 描述
/pingit b 切换无需装置的信标标点(默认关闭)
/pingit m 切换无需装置的标记点标点(默认关闭)
/pingit b key <键> 设置独立标点按键(默认:鼠标3)
/pingit b key reset 重置独立按键为鼠标3

服务器配置

编辑插件数据文件夹中的 config.json

设置项 默认值 描述
pingRange 1000 最大可见范围(方块)
pingDurationMs 600000 标点持续时长(10分钟)
pingCooldownMs 500 标点最小冷却时间
proximityClearRadius 5.0 走近清除的距离
proximityClearGraceMs 3000 创建后3秒内忽略接近
defaultNearbyCount 3 默认附近标点限制
defaultNearbyRange 50 默认附近搜索半径

音效音量调校

每个音效在 Mods/PingIt/Server/Audio/SoundEvents/SFX/PingIt/ 中有独立的 JSON 文件。编辑 Volume 字段进行调整。数值越大越响,负数越安静。


兼容性

  • 可独立运行或与 MultipleHUD 配合(自动检测)
  • 使用 Hytale 内置的粒子、音频和 UI 系统
  • 所有设置按玩家独立保存,服务器重启后仍保留

API — 插件集成

其他插件可以注册可见性过滤器来控制谁能看到/听到标点。适用于希望将标点限制在队伍成员之间的队伍或公会系统。

你的 build.gradle.kts:

dependencies {
    compileOnly(files("libs/PingIt-2.0.2.jar"))
}

你的 manifest.json:

"OptionalDependencies": { "BeyondSmash:PingIt": "*" }

用法:

import com.pingit.api.PingItAPI;
import com.pingit.api.PingFilter;

// 注册过滤器 — 标点仅对队伍成员可见
PingItAPI.registerFilter((pingerUuid, viewerUuid, pingTypeName) -> {
    return myPartySystem.areInSameParty(pingerUuid, viewerUuid);
});

// 不再需要时取消注册
PingItAPI.unregisterFilter(myFilter);

可注册多个过滤器。仅当所有过滤器返回 true(与逻辑)时标点才可见,因此队伍插件和公会插件可以独立限制可见性。


当前使用 PingIt API 的模组

  • Group Manager - 一个独立的团队/队伍管理插件 (集成了 PingIt 的标点系统,使其仅在队伍内可见)

安装方法

  1. PingIt-2.0.2.jar 放入 Mods/ 文件夹(Mods 文件夹根目录,而非子文件夹)
  2. 重启服务器
  3. 使用 /pingit give 获取标点装置