Skip to content

作用

DurabilityProtect 用于阻止玩家常见装备与工具损失耐久。

当前脚本支持按分类保护:

  • 盔甲
  • 工具
  • 武器
  • 盾牌
  • 鞘翅

默认配置:GroovyConfig/DurabilityProtect.yml

如果你在 config.yml -> feature-scripts.config-directory 中改过脚本配置目录,请以实际目录为准。

配置示例

yml
# 是否启用该脚本
enabled: true

# 生效世界列表
# 留空 [] 表示所有世界都生效
# 示例:
# worlds:
#   - world
#   - world_nether
worlds: []

# 权限节点
# 留空 '' 表示不使用权限控制
permission: hncore.scripts.durabilityprotect.bypass

# 权限模式(v3.0.0+ 新增)
# - "bypass":拥有该权限的玩家不享受无限耐久(用于让管理员绕过保护)
# - "require":只有拥有该权限的玩家才能享受无限耐久(用于限制特权)
permission-mode: bypass

# 是否保护盔甲耐久
# 包含头盔、胸甲、护腿、靴子、海龟壳头盔
protect-armor: true

# 是否保护工具耐久
# 包含镐、斧、锹、锄、剪刀、打火石、钓鱼竿、刷子等
protect-tools: true

# 是否保护武器耐久
# 包含剑、弓、弩、三叉戟
protect-weapons: true

# 是否保护盾牌耐久
protect-shield: true

# 是否保护鞘翅耐久
protect-elytra: true

关键项说明

worlds

限定脚本生效的世界。

  • []:所有世界生效
  • 填世界名列表:只在这些世界生效

permission

设置权限节点。

  • 留空 '':不使用权限控制,所有玩家都受保护
  • 填写权限节点:根据 permission-mode 决定权限的含义

permission-mode(v3.0.0+ 新增)

决定权限的含义:

bypass 模式(默认)

拥有权限的玩家不享受无限耐久(用于让管理员绕过保护)。

适用场景

  • 普通玩家享受无限耐久
  • 管理员需要正常消耗耐久(用于测试、体验游戏机制)

示例

yml
permission: hncore.scripts.durabilityprotect.bypass
permission-mode: bypass

给管理员授予 hncore.scripts.durabilityprotect.bypass 权限后,他们的装备会正常损耗耐久。

require 模式

只有拥有权限的玩家才能享受无限耐久(用于限制特权)。

适用场景

  • VIP 玩家享受无限耐久
  • 普通玩家正常消耗耐久

示例

yml
permission: hncore.scripts.durabilityprotect.vip
permission-mode: require

只有拥有 hncore.scripts.durabilityprotect.vip 权限的玩家才能享受无限耐久。

protect-armor

是否保护盔甲耐久。

当前判定基于物品名后缀,覆盖头盔、胸甲、护腿、靴子,也包括 TURTLE_HELMET 这类头盔型物品。

protect-tools

是否保护工具耐久。

当前包含的常见工具有:

  • 镐、斧、锹、锄
  • 剪刀
  • 打火石
  • 钓鱼竿
  • 刷子
  • 胡萝卜钓竿、诡异菌钓竿

protect-weapons

是否保护武器耐久。

当前包括:

  • 三叉戟

protect-shield / protect-elytra

用于单独控制盾牌与鞘翅耐久保护。

实际行为

当前实现监听的是 PlayerItemDamageEvent

只要满足:

  • 脚本已启用
  • 当前世界命中 worlds
  • 玩家权限检查通过(根据 permission-mode
  • 物品属于被保护分类

就会直接取消这次耐久损耗。

也就是说,它的逻辑不是"损坏后修复",而是在事件阶段直接阻止耐久减少。

启用与重载

修改这个脚本的配置文件后,通常执行:

text
/hncore reload scripts

如果你改的是 config.yml 中的脚本目录名、脚本系统总开关等核心配置,则应执行:

text
/hncore reload

联动说明

注意事项

  • 它只处理 PlayerItemDamageEvent 覆盖到的耐久损耗,不是所有自定义物品系统都一定受它影响
  • 当前脚本按物品类别判断,不在这些类别内的可损耗物品不会自动纳入保护
  • 如果你只想在大厅、跑酷或活动世界启用,建议用 worlds 精确限制范围
  • OP 玩家在 bypass 模式下也会被视为拥有权限(不享受无限耐久)

HN 系列插件文档