LimitedGrace - 有限的死亡不掉落 | 次数限定的死亡保护插件

原创 开源 LimitedGrace - 有限的死亡不掉落 | 次数限定的死亡保护插件 v1.4.0

完成注册/登录后下载
版权类型
原创
插件中文名称
有限的死亡不掉落
插件英文名称
LimitedGrace
原帖地址
https://github.com/User-Time/LimitedGrace
支持的核心(服务端)
  1. Paper
  2. Folia
  3. Purpur
语言支持
多语言
适配版本(Java)
  1. 最新版本
  2. 26.x
  3. 1.21
  4. 1.20
  5. 1.19

🎉 LimitedGrace v1.4.0 发布!​


LimitedGrace 是一款轻量级死亡保护插件,为玩家提供限定次数的死亡保护。

在保护生效期间,玩家死亡时不会掉落背包物品,也不会损失经验,能够降低生存前期因意外死亡带来的挫败感,同时保留长期生存玩法的挑战性。

在 v1.4.0 中,插件新增了对原版 keepInventory 游戏规则的适配。当玩家所在世界已开启死亡不掉落时,默认不会重复消耗 LimitedGrace 的保护次数。服主也可以通过新增的配置项,自由决定此类死亡是否消耗保护次数。🚀



📷 插件效果展示


914a9ac5-762a-4703-8e44-f8a3581610cd.webp
00e50746-e4f0-41f6-a3e1-342b2b606c53.webp
8c9be081-097d-4eb2-9831-f04419335a60.webp


配合数据包效果

ac91afe4-7ac3-464e-955c-45976beac87a.webp

​



✨ 主要功能​


  • 🛡 双层保护系统
    结合新玩家保护与额外保护两种机制,使保护次数的计算与管理更加灵活。
  • 🎒 保护期间保留物品
    当死亡保护生效时,玩家不会掉落背包中的物品。
  • ⭐ 保护期间保留经验
    受到保护的死亡不会使玩家损失等级与经验。
  • 🎮 适配原版 keepInventory
    插件会检测玩家死亡世界中的 keepInventory 游戏规则。默认情况下,当原版死亡不掉落已经开启时,不会重复消耗 LimitedGrace 的保护次数。
  • ⚙️ 可配置的次数消耗规则
    服主可以通过 keep-inventory-consumes-charge 配置项,决定开启 keepInventory 后是否仍然消耗保护次数。
  • 🔄 玩家保护开关
    玩家可以使用 /lg switch 自主开启或关闭自己的死亡保护,关闭后死亡将不会消耗保护次数。
  • 👤 切换其他玩家的保护
    管理员可以使用 /lg switch <玩家> 切换指定玩家的死亡保护状态。
  • 🌐 全局保护开关
    管理员可以使用 /lg switchAll 全局开启或关闭 LimitedGrace 的死亡保护功能。
  • ♾️ 无限保护权限
    拥有 limitedgrace.unlimited 权限的玩家可以正常触发死亡保护,但不会消耗任何保护次数。
  • ➕ 额外保护次数管理
    管理员可以使用 /lg add 为玩家增加额外保护次数,且不会覆盖玩家已有的保护数据。
  • ⚠️ 完整的管理指令
    • /lg set 用于设置玩家的额外保护次数
    • /lg setDeath 用于设置玩家的实际死亡次数
  • ⚙ 灵活的配置系统
    支持自定义新玩家保护次数、默认额外保护次数、低剩余次数提醒阈值、keepInventory 次数消耗规则以及各类提示消息。
  • 🔔 版本更新检测
    服务器启动时会异步检查 GitHub Releases。发现新版本后仅在控制台显示提示,不会自动下载或替换插件。可通过 update-check.enabled 关闭此功能。
  • 📊 详细信息显示
    /lg get 可以分别显示玩家的新玩家保护剩余次数、额外保护剩余次数与总剩余保护次数。
  • ☕ 更广泛的版本兼容
    插件最低支持 Paper 1.19.4 与 Java 17,同时兼容后续现代 Minecraft 服务端版本。



📜 指令与权限​


指令说明权限默认
/lg get查看自己的剩余保护次数详情limitedgrace.get所有玩家
/lg get <玩家>查看其他玩家的剩余保护次数详情limitedgrace.get.itOP
/lg getDeaths查看自己的实际死亡次数limitedgrace.get所有玩家
/lg getDeaths <玩家>查看其他玩家的实际死亡次数limitedgrace.get.itOP
/lg add <玩家> <数量>增加玩家的额外保护次数limitedgrace.addOP
/lg set <玩家> <数量>设置玩家的额外保护次数limitedgrace.setOP
/lg setDeath <玩家> <数量>设置玩家的实际死亡次数limitedgrace.setdeathOP
/lg switch开启或关闭自己的死亡保护limitedgrace.switch所有玩家
/lg switch <玩家>开启或关闭指定玩家的死亡保护limitedgrace.switch.itOP
/lg switchAll全局开启或关闭插件的死亡保护limitedgrace.switch.allOP
/lg reload重新加载插件配置文件limitedgrace.reloadOP

🔑 其他权限​


权限说明默认
limitedgrace.unlimited死亡保护生效时不消耗保护次数无
limitedgrace.adminLimitedGrace 管理员权限OP



🛡️ 保护机制说明​


玩家的死亡保护由以下两部分组成:

  1. 新玩家保护
    根据配置文件中的保护上限与玩家的实际死亡次数自动计算。
  2. 额外保护
    由管理员通过指令为玩家额外增加或设置。

当玩家死亡时,插件会依次检查:

  • 插件的全局死亡保护是否开启
  • 玩家自己的死亡保护是否开启
  • 玩家所在世界是否开启 keepInventory
  • 当前配置是否要求在 keepInventory 开启时消耗次数
  • 玩家是否还有可用的保护次数

符合保护条件时,玩家将保留物品和经验,并消耗一次对应的保护次数。

🎮 keepInventory 处理规则​


当玩家死亡世界中的 keepInventory 游戏规则为 true 时,是否消耗保护次数由以下配置决定:

YAML:
# Whether deaths with the `keepInventory` game rule enabled consume a protection charge.
keep-inventory-consumes-charge: false

  • false(默认)
    原版游戏规则已经保留玩家物品时,不消耗 LimitedGrace 的保护次数。
  • true
    即使原版 keepInventory 已开启,玩家死亡时仍然按照正常规则消耗保护次数。

[NOTE]
keepInventory 是分世界设置的游戏规则。插件将根据玩家死亡时所在世界的规则进行判断。
[/NOTE]

拥有 limitedgrace.unlimited 权限的玩家仍会受到死亡保护,但不会消耗新玩家保护或额外保护次数。

全局开关与玩家个人开关仍然对 limitedgrace.unlimited 权限生效。如果任意一个开关处于关闭状态,死亡保护都不会生效。



📦 升级说明​


从旧版本升级到 v1.4.0 时,建议先备份原有的 config.yml。

本版本新增了 keep-inventory-consumes-charge 配置项。建议采用以下任意一种方式更新配置:

  • 备份并删除旧的 config.yml,重启服务器生成最新配置。
  • 最新配置文件

YAML:
# Global grace state.
# Use `/lg switchAll` to switch.
enabled: true

# Check GitHub Releases for a newer plugin version on startup.
update-check:
  enabled: true

# Number of protections
death-protections-number: 10
default-added-protections-number: 0

# Does the game warn players when they have only a few protection opportunities left?
protect-warn:
  - 3
  - 1

# Whether deaths with the `keepInventory` game rule enabled consume a protection charge.
keepinventory-consumes-charge: false

# Messages support Minecraft color codes using `§`.
# Dynamic values use placeholders such as {0}, {1}, etc.
help-message:
  - "§6§lLimitedGrace 帮助"
  - "§e/lg help            §7- 查看插件帮助"
  - "§e/lg switch [玩家]    §7- 为自己/他人切换保护"
  - "§e/lg switchAll       §7- 切换插件的保护状态"
  - "§e/lg get [玩家]       §7- 查看 自己/其他玩家 的剩余保护次数"
  - "§e/lg getDeaths [玩家] §7- 查看 自己/其他玩家 死亡次数"
  - "§e/lg set [玩家] <次数> §7- 修改 自己/其他玩家 额外保护次数"
  - "§e/lg setDeaths [玩家] <次数> §7- 修改 自己/其他玩家 死亡次数"
  - "§e/lg add [玩家] <次数> §7- 添加 自己/其他玩家 的额外死亡保护"
  - "§e/lg reload           §7- 重载插件配置"

protect-message: "§a玩家 §f{0} §a具有 §e{1}次 §a死亡保护§f,\n§a其中包含 §e{2}次 §a新人保护§f,§a以及 §e{3}次 §a的额外死亡保护§f."
protect-warn-message: "§a你只剩 §e{0}次 §a死亡保护了§f, \n§a其中新人保护仅剩 §e{1}次§f, §a额外死亡保护仅剩 §e{2}次§f."
death-message: "§a玩家 §f{0} §a已死亡:§e{1}次"
not-permission-message: "§c你没有使用该命令的权限!"
reload-message: "§a配置已重新加载!"
set-player-death-message: "§a已将玩家§f %s §a的死亡次数修改为:§e %d"
set-player-added-permission-message: "§a已将玩家§f %s §a的额外死亡保护次数修改为:§e %d次"
player-404-message: "§c玩家不存在或不在线"
value-err-message: "§c数值不合法"
set-added-protect-message: "§a已将玩家 §f{0} §a的额外死亡保护设为:§e{1}次"
integer-error-message: "{0} is not a valid integer type."
value-unchanged-message: "§c数值无变化"
death-update-error-message: "§c player Death data update error!"
protection-update-error-message: "§c player AddedProtections data update error!"
switch-self-message: "已将您的保护状态切换为{0}"
switch-player-message: "已将 {0} 的保护状态切换为{1}"
switch-all-message: "已将全局保护状态切换为{0}"

该配置默认为 false。这意味着当玩家所在世界已开启 keepInventory 时,不会消耗 LimitedGrace 的保护次数。

版本更新检测默认开启。如需关闭,请修改:

YAML:
update-check:
  enabled: false



📋 运行环境​


  • Minecraft:1.19.4+
  • 服务端:Paper 1.19.4+
  • Java:17+



LimitedGrace 旨在为服务器提供一个简单、可配置且性能友好的死亡保护解决方案,在不完全移除生存惩罚的前提下,为新玩家及有需要的玩家提供更加友好的游戏体验。
作者
User.Time
下载
33
查看
457
首次发布
最后更新

评分

0.00 星 0 次评分

User.Time 的其他资源

最新更新

  1. LimitedGrace 1.4.0

    # 🎉 LimitedGrace v1.4.0 发布! 本次更新新增了对原版 `keepInventory` 游戏规则的适配,并允许服务器管理员配置开启死亡不掉落时是否消耗保护次数。...
  2. LimitedGrace 1.3.0

    # 🎉 LimitedGrace v1.3.0 现已发布! 本次更新新增了版本检测功能,扩大了插件的版本兼容范围,并优化了配置管理。 ### ✨ 新增功能 * 新增 GitHub...
  3. LimitedGrace 1.2.0

    # 🎉 LimitedGrace v1.2.0 现已发布! 本次更新进一步增强了死亡保护功能的控制能力。 ### ✨ 新增功能 * 新增 `/lg...
后退
顶部 底部