Skip to content

作用

NoDrop 用于阻止玩家主动丢弃物品。

它适合用来约束大厅、菜单服、活动等待区、剧情服等不希望玩家把物品随手扔在地上的世界。

默认配置:GroovyConfig/NoDrop.yml

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

配置示例

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

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

# 拥有该权限的玩家可绕过限制
bypass-permission: 'hncore.scripts.nodrop.bypass'

# 取消丢弃时发送给玩家的提示
# 留空 '' 表示不发送
message: '&c当前禁止丢弃物品!'

关键项说明

worlds

限定脚本生效的世界。

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

bypass-permission

拥有该权限的玩家可以正常丢弃物品。

适合给管理员、测试人员、特殊职业或特殊玩法组单独放行。

message

玩家尝试丢弃物品被拦截时发送的提示。

  • 留空:不发送消息
  • 填文本:提示玩家当前世界不允许丢弃物品

实际行为

当前实现监听的是 PlayerDropItemEvent

只要满足:

  • 脚本已启用
  • 当前世界命中 worlds
  • 玩家没有 bypass-permission

就会直接取消这次丢弃行为。

启用与重载

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

text
/hncore reload scripts

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

text
/hncore reload

联动说明

注意事项

  • 它只阻止“主动丢弃”,不会拦截死亡掉落、容器移动或脚本/插件直接生成掉落物
  • worlds: [] 表示全服所有世界都不能丢物,开启前最好确认是否符合玩法预期

HN 系列插件文档