怪物喜爱黑暗

怪物喜爱黑暗

该模组给予某些生物机会,专注于并摧毁附近的光源,从而形成危险的黑暗区域,并奖励那些留意的玩家。

冒险

生物喜爱黑暗

手持散发黑暗的火把的僵尸

这是一个适用于 Minecraft 1.20.1、1.21.1 和 1.21.11 的 Fabric 模组,它会让某些生物有机会锁定并摧毁附近的光源,从而制造危险的黑暗区域,并奖励那些保持警惕的玩家。

功能简介

某些生物会偶尔锁定附近的火把、灯笼和营火,并尝试将其摧毁。被锁定的生物会发光并散发灵魂火粒子,给细心的玩家在照明被破坏前做出反应的机会。当生物到达光源后便会将其破坏,播放独特的声音,并在新形成的黑暗中恢复正常行为。

幻翼在俯冲攻击时可能会偶尔摧毁暴露在外的火把,这使得露天照明在夜晚略显脆弱——但它们不稳定的飞行轨迹意味着有遮盖的照明仍然相对安全。

所有内容都可以高度配置。

特性

  • 可配置的合格生物类型列表——任何生物都可以通过配置文件添加
  • 可配置的目标方块列表——适用于任何方块 ID,包括模组方块
  • 每种生物类型独立的目标分配概率——幻翼可以和高生成率的生物(如僵尸)分开调整
  • 可选的发光效果,让被锁定的生物对玩家可见
  • 可选的灵魂火粒子轨迹,在锁定期间持续显示
  • 可选的特殊音效,在锁定开始和光源被摧毁时播放
  • 不可达的目标会按生物类型被列入黑名单,以防止行为卡住
  • 与方块保护模组兼容——受保护的方块会被检测并优雅地加入黑名单
  • 所有行为仅在服务端运行,多人游戏无需安装客户端

默认行为

默认情况下,以下生物有资格获得光源锁定目标:

生物 默认合格概率
僵尸 5%
尸壳 5%
僵尸村民 5%
僵尸猪灵 5%
幻翼 75%

默认情况下,以下方块会被作为目标:

  • 火把 / 墙上的火把
  • 灯笼
  • 灵魂火把 / 灵魂灯笼
  • 营火 / 灵魂营火

配置

配置文件在首次启动时生成于 config/mobs-love-darkness.json5。所有字段都包含描述和有效范围,直接写在文件中。

配置项 默认值 描述
LightSourceSearchRadius 16 搜索光源的方块半径。范围:1–128
LightSourceSearchRadiusVertical 4 搜索光源的垂直方块半径。范围:1–128
LightSourceBreakTimeTicks 20 破坏光源所需的时间(20 刻 = 1 秒)。范围:1–1200
LightFixationChance 0.05 合格生物每秒锁定附近光源的概率。范围:0.0–1.0
LightFixationSpeedMultiplier 0.85 锁定期间的速度倍率(1.0 = 正常速度)。范围:0.1–10.0
LightFixationCooldownTicks 200 生物破坏光源后可以再次锁定的冷却时间。范围:0–72000
LightFixationMaxGoalTicks 600 单次锁定尝试的最大持续时间,超过则放弃。范围:100–72000
LightFixationGoalPriority 3 目标优先级(数值越低优先级越高,原版僵尸攻击为 2)。范围:1–10
EnableParticles true 在锁定生物身上显示灵魂火粒子轨迹
EnableSounds true 在锁定开始和光源被破坏时播放音效
EnableLightFixationGlowEffect true 在锁定生物身上显示发光轮廓
TargetableLightSources 见上文 可目标光源的方块 ID 列表,包括模组方块
LightFixationEligibilityChancePerMobType 见上文 每种生物类型在生成时获得该目标的概率

性能指南

搜索成本与半径的立方成正比——半径为 128 时检查的方块数量约为半径 16 时的 500 倍。请根据生物合格性调整搜索半径:

搜索半径 建议的最大合格生物数量
16(默认) ~50
32 ~20
64 ~5
128 ~1-2

LightSourceSearchRadiusVertical(默认值:4)也会影响搜索成本。大幅增加该值会显著降低性能——除非你的使用场景特别需要搜索地下,否则请保持该值较低。

以上为粗略指南。实际影响取决于硬件和其他模组。

添加模组生物和方块

任何有效的方块或实体注册表 ID 都可以用于配置列表:

"LightFixationEligibilityChancePerMobType": {
    "minecraft:zombie": 0.05,
    "minecraft:phantom": 0.75,
    "alexsmobs:warped_mosco": 0.10
},
"TargetableLightSources": [
    "minecraft:torch",
    "minecraft:wall_torch",
    "supplementaries:oil_lamp"
]

兼容性

游戏规则

  • 本模组尊重 mobGriefing 游戏规则。如果生物生成时 mobGriefing 被禁用,该生物将不会获得光源锁定目标。已经拥有该目标的生物在 mobGriefing 被禁用时会优雅地停止行动,不会破坏方块。

兼容:

  • Sodium、Iris、Lithium 以及其他性能优化模组
  • 添加新生物类型的模组——可通过配置文件添加
  • 添加新光源方块的模组——可通过配置文件添加

不会影响:

  • 着色器模组的客户端动态光照——只会以实际世界中的方块为目标
  • 基岩版——仅限 Java 版

潜在冲突:

  • 完全替换生物 AI 目标选择器的模组可能会阻止目标注入
  • 如果目标优先级与其他模组冲突,请在配置中调整 LightFixationGoalPriority(原版僵尸攻击目标优先级为 2)

方块保护模组(GriefPrevention、FTB Chunks 等) — 受保护的方块会在一次破坏尝试后被检测并加入黑名单,从而防止反复尝试。注意:FTB Chunks 在 Fabric 上的生物破坏保护默认仅覆盖末影人,不会阻止本模组的方块破坏——如需全局保护,请使用 mobGriefing 游戏规则。

已知限制

  • 不区分玩家放置的方块和世界生成的方块——自然生成的方块也可以被锁定
  • 幻翼由于其飞行导航机制,对火把的锁定不够精确——这在一定程度上是设计使然,因为精确的幻翼锁定会难以应对
  • 禁用 mobGriefing 游戏规则会阻止新生成的生物获得该目标,并阻止已拥有该目标的生物破坏方块

GitHub

https://github.com/AndartaMC/mobs-love-darkness

许可证

MIT —— 欢迎在整合包中包含本模组。