主题
作用
NoMiningExp 用于让挖掘方块时不再掉落经验,适合需要自定义经验获取方式的服务器。
默认配置:GroovyConfig/NoMiningExp.yml
如果你在
config.yml -> feature-scripts.config-directory中改过脚本配置目录,请以实际目录为准。
配置示例
yml
# 是否启用该脚本
enabled: false
# 生效世界列表
# 留空 [] 表示所有世界都生效
# 示例:
# worlds:
# - world
# - world_nether
worlds: []
# 受影响的方块类型列表
# 留空 [] 表示所有方块都不掉落经验
# 示例(常见矿石):
# blocks:
# - COAL_ORE
# - DEEPSLATE_COAL_ORE
# - IRON_ORE
# - DEEPSLATE_IRON_ORE
# - DIAMOND_ORE
# - DEEPSLATE_DIAMOND_ORE
# - EMERALD_ORE
# - DEEPSLATE_EMERALD_ORE
# - NETHER_QUARTZ_ORE
# - NETHER_GOLD_ORE
# - ANCIENT_DEBRIS
blocks: []关键项说明
worlds
用于限制哪些世界会取消挖掘经验。
留空表示所有世界都生效。
blocks
用于精确控制哪些方块类型挖掘时不掉经验。
- 留空
[]:所有方块挖掘都不掉经验 - 填写具体方块类型:只有列表中的方块挖掘时不掉经验
常见用途:
- 只取消矿石经验:填写所有矿石类型
- 取消所有经验:留空列表
实际行为
当前实现监听的是 BlockBreakEvent,在事件中:
- 检查世界是否匹配
- 检查方块类型是否匹配
- 调用
event.setExpToDrop(0)取消经验掉落
启用与重载
修改这个脚本的配置文件后,通常执行:
text
/hncore reload scripts使用场景
- 自定义经验系统的服务器
- 需要通过其他方式发放经验的玩法
- 平衡性调整,避免挖矿获得过多经验
注意事项
- 此脚本只影响挖掘方块的经验掉落
- 不影响击杀怪物、钓鱼、繁殖动物等其他经验来源
- 方块类型名称需要使用 Bukkit Material 枚举名称(全大写,下划线分隔)
