
HyDowned
将玩家死亡替换为击倒状态,队友可在倒计时结束前进行复活。
HyDowned - 倒地状态系统
用倒地状态取代立即死亡,让队友有机会复活你。当你受到致命伤害时,你不会死亡,而是进入倒地状态——给你的队友一个救回你的机会。
功能简介
当你受到致命伤害时:
- 你会以 30% 的生命值进入倒地状态(可配置)
- 开始 5 分钟倒计时(可配置)
- 倒地时你会进入睡眠动画
- 队友可以在附近蹲下 10 秒来复活你(可配置)
- 如果倒计时结束,你将正常死亡
- 你可以按住蹲下键在 5 秒后放弃
- 你可以使用
/giveup命令立即重生
配置
编辑 plugins/HyDowned/config.json:
倒地设置
{
"downed": {
"timerSeconds": 300, // 5 分钟后死亡
"deathOnTimeout": true, // 倒计时结束时死亡(false = 自动复活)
"healthWhenDowned": 0.30, // 倒地时 30% 生命值
"allowMovement": true, // 倒地时允许水平移动
"applySlow": true, // 应用缓慢效果
"jumpForce": 0.0, // 倒地时跳跃力度(0 = 禁用)
"aiRetargetRange": 16.0, // 附近玩家的检测范围(方块)
"allowedDamage": {
"player": {
"enabled": true, // 启用 PvP 伤害
"damageMultiplier": 0.6 // 减少 40% 伤害
},
"ai": {
"enabled": true, // 启用 AI/生物伤害
"damageMultiplier": 0.6 // 减少 40% 伤害
},
"environment": {
"enabled": false, // 禁用环境伤害
"damageMultiplier": 0.6
},
"lava": {
"enabled": true, // 岩浆致死(防止卡住)
"damageMultiplier": 1.0 // 全额岩浆伤害
}
}
}
}
倒地生命值:
healthWhenDowned设置进入倒地状态时的生命值百分比- 默认
0.30= 最大生命值的 30%(玩家 100 HP → 倒地时 30 HP) - 较高的百分比提供更强的倒地生存能力
- 较低的百分比增加脆弱性
移动与物理:
allowMovement- 启用/禁用倒地时的水平移动applySlow- 倒地时应用缓慢效果(与 allowMovement=true 叠加可实现爬行)jumpForce- 倒地时的跳跃力度(0.0 = 不能跳跃,11.8 = 正常跳跃)- 破坏和放置方块始终被禁用
- 体力技能始终被禁用
伤害控制
精细控制哪些伤害可以影响倒地的玩家:
player- 玩家对玩家(PvP)伤害ai- AI/生物伤害environment- 坠落伤害、火焰、溺水、窒息lava- 岩浆伤害(默认启用以防止卡住)
每种伤害类型都有:
enabled- 该伤害类型是否影响倒地玩家damageMultiplier- 伤害减免(0.6 = 减少 40%,1.0 = 全额伤害)
AI 目标行为:
- 当 AI 伤害启用时:只有存在更好的目标时,倒地玩家才会被移除
- 首先检查当前目标列表中的非倒地玩家
- 如果列表中只有倒地玩家:扫描附近区域(在
aiRetargetRange范围内)寻找非倒地玩家 - 如果找到非倒地玩家:移除倒地目标,让 AI 重新选择目标
- 如果没有更好的目标:保留倒地玩家作为目标
- 每个 NPC 每 5 秒仅处理一次,防止刷屏
- 当 AI 伤害禁用时:倒地玩家会完全从 AI 目标列表中移除
aiRetargetRange- 扫描附近玩家的检测半径(方块,默认:16.0)
复活设置
{
"revive": {
"timerSeconds": 10, // 完成复活需要 10 秒
"maxRange": 2.0, // 必须在 2 个方块范围内
"healOnReviveEnabled": false, // 复活时恢复生命值
"healOnReviveHealth": 0.30 // 恢复的生命值(30%)
}
}
镜头设置
{
"camera": {
"enabled": false, // 启用自定义镜头
"defaultCamera": true, // 使用默认俯视图
"firstPerson": false, // 第一人称视角
"positionX": 0.0, // 镜头 X 偏移
"positionY": 0.8, // 镜头 Y 偏移(高度)
"positionZ": 0.0 // 镜头 Z 偏移
}
}
UI 设置
{
"ui": {
"enableSounds": true, // 音效
"enableProgressBar": true, // HUD 进度条
"showChatMessages": false // 聊天通知
}
}
enableSounds- 播放倒地事件的音频反馈enableProgressBar- 显示带有进度条和倒计时的 HUDshowChatMessages- 发送倒地/复活事件的聊天消息(推荐使用 HUD)
命令
/giveup - 在倒地时立即死亡,如果你不想等待倒计时
- 仅在倒地状态下可用
- 跳过 5 秒放弃倒计时
- 立即触发死亡和重生
登出/重连行为:
- 倒地状态在断开连接和服务器重启后持续存在
DownedComponent将剩余时间存储在实体数据中- 重连后,倒地状态会恢复并保留剩余时间
死亡处理:
- 当倒地玩家受到来自允许来源的致命伤害时,他们会正常死亡
- 死亡画面会出现,并保持适当的动画
- 重生后,所有倒地状态都会被清理
- 移动和物理能力完全恢复
HUD 系统:
- 根据玩家状态显示实时信息
- 对倒地玩家、观察者和复活者显示不同的视图
翻译与语言
HyDowned 包含多种语言的翻译。所有面向玩家的消息会自动以玩家的客户端语言显示。
包含的语言:
- 英语 (en-US) - 默认
- 葡萄牙语 (pt-BR) - 巴西葡萄牙语
- 德语 (de-DE) - 德语
- 韩语 (ko-KR) - 韩语
- 日语 (ja-JP) - 日语
工作原理:
模组会自动检测每个玩家的语言偏好(来自 Hytale 客户端),并以他们的语言显示消息。无需配置!
翻译覆盖范围:
- 状态通知(击倒、复活消息)
- 计时器消息(倒计时、剩余时间)
- 复活交互(开始、取消、完成)
- 命令(描述和反馈)
- HUD 消息(按某键复活、剩余时间、放弃)
添加自定义翻译:
- 解压 JAR:
jar xf HyDowned.jar - 导航到
Server/Languages/ - 复制一个现有的语言文件夹(例如
en-US) - 将其重命名为你的语言代码(例如西班牙语
es-ES) - 编辑
hydowned.lang文件并填入你的翻译 - 重新打包 JAR:
jar cf HyDowned.jar *
翻译文件格式:
# 以 # 开头的是注释
state.knocked_out = 你被击倒了!等待队友救援...
state.player_knocked_out = {playerName} 被击倒了
timer.knocked_out_remaining = 被击倒 - 剩余 {time} 秒
hud.press_to_revive = 按 {key} 复活 {user}
hud.downed_time = 你将在 {time} 后死亡
参数:
{playerName}/{user}- 玩家的显示名称{reviverName}- 正在执行复活的玩家名称{time}- 剩余时间(格式化后){count}- 玩家数量{key}- 按键绑定引用
请参阅 en-US/hydowned.lang 获取所有可用的翻译键。
安装
服务器端:
- 下载 JAR 文件
- 放入服务器的
mods文件夹 - 重启服务器
- 配置文件会在
plugins/HyDowned/config.json生成 - 根据需要自定义配置,然后重新加载或重启
尽情享受吧!
单人游戏/本地:
- 下载 JAR 文件
- 放入
Saves/<YourWorld>/mods/ - 重启世界
- 配置文件会在
plugins/HyDowned/config.json生成
尽情享受吧!
需求
- Hytale 抢先体验版或更高版本
- 服务端模组(客户端不需要安装)
- 无需依赖
源代码
可在 GitHub 获取:https://github.com/BenDol/HyDowned
支持
在 GitHub issues 页面报告错误。
致谢
- Alex 提供了 logo(我让他免费劳动的)
- 社区的反馈和测试
许可证
MIT 许可证
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。