Skip to content

作用

KeepInventory 用于在玩家死亡后保留背包,并进一步控制:

  • 是否保留等级
  • 是否清空掉落物
  • 死亡时掉落多少经验
  • 是否发送提示消息

默认配置:GroovyConfig/KeepInventory.yml

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

配置示例

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

# 玩家死亡时是否保留等级
keep-level: true

# 玩家死亡时是否清空掉落物
clear-drops: true

# 玩家死亡时掉落的经验值
# 设为 0 表示不掉经验
# 仅在 keep-level 为 true 时通常建议也保持为 0
# 若你想保留等级但仍掉部分经验,也可以自定义该值
dropped-exp: 0

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

# 玩家死亡后额外发送的提示消息
# 留空 '' 表示不发送
# 支持颜色符号,如 &a &c
message: ''

关键项说明

keep-level

是否保留等级。

clear-drops

是否清空死亡掉落物。通常会和“保留背包”一起使用,避免地上继续掉出原有物品。

dropped-exp

控制死亡时掉落的经验值。

  • 0:不掉经验
  • 大于 0:按你填写的数值掉落经验

worlds

限定脚本生效的世界。

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

message

玩家死亡后发送的提示文本,可用于明确告知当前死亡处理方式。

实际行为

当前实现监听的是 PlayerDeathEvent,命中配置后会直接:

  • event.keepInventory = true
  • event.keepLevel = keep-level
  • clear-drops 决定是否清空掉落物
  • dropped-exp 设置经验掉落

也就是说,它的核心是接管死亡结算阶段,而不是在玩家复活后再补偿物品。

启用与重载

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

text
/hncore reload scripts

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

text
/hncore reload

联动说明

  • 想让玩家死亡后立刻回到流程:搭配 AutoRespawn
  • 想让日常流程更轻:可再配合 NoHunger

注意事项

  • 它不会自动让玩家复活
  • 如果你看到玩家虽然保留了物品,但仍然会先进入死亡界面,这是正常现象
  • 如果你想保留更强的原版惩罚感,可以只保留背包,不保留等级或经验

HN 系列插件文档