Skip to content

作用

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 枚举名称(全大写,下划线分隔)

HN 系列插件文档