[1.14~26.x] TinyGrace 有限死亡保护 | 配额制不掉落 · 可按人发放

原创 开源 [1.14~26.x] TinyGrace 有限死亡保护 | 配额制不掉落 · 可按人发放 1.0.0

完成注册/登录后下载
版权类型
原创
插件中文名称
有限死亡保护
插件英文名称
TinyGrace
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Purpur
语言支持
中文(简体)
适配版本(Java)
  1. 最新版本
  2. 26.x
  3. 1.21
  4. 1.20
  5. 1.19
  6. 1.18
  7. 1.17
  8. 1.16
  9. 1.15
  10. 1.14
[MD] ## 这是啥 一个**有限死亡保护**插件:每个玩家有 N 次「死亡不掉落」的机会,用完就恢复正常掉落。 适合**生存服前中期**——既不会让新人刚进服就被劝退,也不至于让「死亡」彻底失去代价。 **单 jar 支持 1.14 ~ 26.x,不需要任何前置插件。** --- ## 特点 - **配额制**:每人默认 10 次(可配),次数用完恢复正常掉落 - **完整保留**:死亡时保留背包、等级与经验 - **可按人发放**:管理员能给单个玩家加次数,做活动奖励或补偿 - **无限保护权限**:有 `tinygrace.unlimited` 的玩家永久不掉落、不扣次数 - **三级开关**:全局 / 个人 / `keepInventory` 世界豁免,互不干扰 - **两级提醒**:剩 3 次、1 次时黄色预警;配额耗尽后每次死亡红色提醒 - **数据跟人走**:存在玩家自身,**不建任何数据文件**,换服回档不丢 - **在线更新检查**:启动后异步查新版本,只提示不替换 jar - **零依赖**:不需要 Vault / PlaceholderAPI / 任何前置 --- ## 安装 1. 把 `TinyGrace-1.0.0.jar` 放进 `plugins/` 2. 重启服务器 3. 进游戏敲 `/tg info` 控制台应该出现: [TinyGrace] TinyGrace v1.0.0 —— 有限死亡保护 [TinyGrace] 支持范围: 1.14 ~ 26.x(Java 8 字节码, api-version 1.14) [TinyGrace] 全局开关: 开启 [TinyGrace] 基础保护: 10 次 新玩家额外: 0 次 [TinyGrace] 临界预警: [3, 1] [TinyGrace] keepInventory 世界: 不消耗配额 --- ## 指令 主命令 `/tinygrace`(别名 `/tg`、`/保护`) | 指令 | 作用 | | --- | --- | | `/tg info [玩家]` | 查看剩余次数、已用次数、死亡次数 | | `/tg on` / `/tg off` | 开关**自己**的死亡保护 | | `/tg deaths [玩家]` | 查看累计死亡次数 | | `/tg set <玩家> <次数>` | 设置某人的额外保护次数 | | `/tg add <玩家> <次数>` | 增加某人的额外保护次数 | | `/tg reset <玩家>` | 清空某人已用次数(重新发放配额) | | `/tg global <on/off/toggle>` | 切换全局保护 | | `/tg reload` | 重载配置 | > `set / add / reset` **只能对在线玩家使用**——数据存在玩家身上,人不在线改不了。 --- ## 权限 | 节点 | 默认 | 作用 | | --- | --- | --- | | `tinygrace.use` | true | 查看自己、开关自己 | | `tinygrace.admin` | op | 查看/修改他人、全局开关、重载 | | **`tinygrace.unlimited`** | **false** | **无限保护:死亡永不扣次数** | ### ⚠️ 关于 `tinygrace.unlimited` 这个权限**默认是关的,连 OP 也没有**(Bukkit 的规则:`default: false` 就是谁都没有)。 要给某个人,用权限插件显式授予,例如 LuckPerms: /lp user <玩家名> permission set tinygrace.unlimited true 给了之后:他死亡永远保留背包和经验,**即使配额早就用完了**。 (死亡次数仍会统计,只是不扣配额) --- ## 配置 ```yaml enabled: true # 全局开关 protection: base: 10 # 每人默认保护次数 default-bonus: 0 # 额外发放(可给全员补偿) warn-at: [3, 1] # 剩余多少时黄色提醒 keep-inventory-consumes: false # keepInventory 世界是否也扣次数 keep-level: true # 是否保留等级与经验 warn-exhausted: true # 用完后每次死亡是否红色提醒 messages: warn: "&e⚠ 你只剩 &f{0} &e次死亡保护了" exhausted: "&c✖ 你的死亡保护次数已用完,本次死亡掉落了物品" keep-inventory-consumes 为什么单独一个开关 有些世界本来就开了 keepInventory=true(小游戏世界、创造服)。 那种世界死亡本来就不掉东西,再扣玩家次数,玩家会觉得「我什么都没掉,凭什么扣我一次」。 所以默认 false:这类世界不消耗次数。 为什么次数用完不会「攒着」 插件在玩家身上存两个独立计数器: 数据 用途 deaths 累计死亡 只做统计 used 已消耗配额 只做判定,剩余 = base + bonus - used 如果只用一个计数器,配额用完后它还会继续涨;管理员半年后调高 base, 老玩家会凭空多出几十次保护。分开之后配额用完就固定不动。 已验证 项 结果 Paper 26.3 + Java 25 加载正常,死亡逻辑实机验证通过 1.14.4 API 编译 通过(这是最低支持版本) 字节码 Java 8 1.14 ~ 1.21 未逐版本实测,遇到问题请开 issue。 ⚠️ 重要:不要和其它死亡保护类插件同装 本插件通过 PlayerDeathEvent 的 setKeepInventory(true) + getDrops().clear() 实现保留。 如果服务器上还有其它「死亡不掉落 / 死亡保险箱 / 自动拾取」类插件,可能造成物品翻倍。 原因是 Bukkit 官方文档明确写着:setKeepInventory 不会阻止物品掉落, 必须配合 getDrops().clear()。某些插件只做了前一半,就会「背包留一份 + 地上掉一份」。 装之前请先关掉其它死亡相关插件,或在小范围测试后再上线。 [/MD]
作者
TinyAii
下载
0
查看
3
首次发布
最后更新

评分

0.00 星 0 次评分

TinyAii 的其他资源

后退
顶部 底部