禁止刷怪塔

禁止刷怪塔

抑制怪物刷怪塔的模组

工具

这是一个 Fabric 服务端模组,用于对刷怪塔实施多种反制措施。

自然生成削弱

这适用于“自然生成”的怪物(即不是通过刷怪笼或结构生成的),包括在海洋神殿等结构中持续生成的怪物。它会检测来自特定区块的怪物是否死亡过于频繁,并降低其生成速率。

该算法可通过 nomobfarm.properties 文件进行配置:

natural_slowdown_rate=1000          # 相对于怪物死亡频率,怪物生成被减缓的速率。值越大,怪物不生成的间隔时间越长。
natural_recovery_rate=3.0E-4        # 当怪物不再死亡时,生成算法恢复正常的速度。它实质上是算法“遗忘”已死亡怪物数量的速率。
natural_max_wait=100000             # 怪物不生成的最大间隔时间(以游戏刻为单位)。
natural_min_deaths=0                # 触发放缓所需的最小怪物死亡数量。
natural_offline_persistence=259200  # 关于区块的数据在最后一次写入后应保留的时间(以秒为单位)。默认值为3个现实世界天数,这意味着如果一个区块被放置3天,它将恢复正常。这与恢复速率不同,因为后者在区块仍被加载时使用,并且依赖于死亡计数器。

使用这些默认值,该算法的攻击性适中。当来自同一区块的少量怪物在短时间内死亡时,它会迅速抑制生成速率(因为同一区域内快速连续的生成批次是刷怪机制滥用的迹象),但仍会允许怪物偶尔生成。如果希望更保守,请降低 slowdown_rate 的值;增加 max_wait 并降低 recovery_rate 可以进一步降低可疑区块的生成速率。

你可以通过将 natural_max_wait 设置为 0 来禁用此功能。

刷怪笼削弱

这适用于刷怪笼方块。默认值为:

spawner_slowdown_rate=30
spawner_recovery_rate=0.001
spawner_max_wait=10000
spawner_min_deaths=15
spawner_offline_persistence=259200

这些值相对保守,因为与另一种生成机制不同,至少仅根据生成/死亡比率,没有明显迹象表明怪物是在刷怪塔内生成的,而且刷怪笼本身也有自己的延迟。此配置将在至少15只怪物死亡后逐步减缓刷怪笼的生成速度,但仍会允许怪物偶尔生成,并在其怪物一段时间内没有死亡(或根本没有生成)时,只要区块保持加载(并持续运转),刷怪笼便会恢复正常。其理念是,正当使用刷怪笼的玩家可能会因速度减慢而气馁并离开,从而使其在一段时间后恢复正常;而刷怪塔则需要使用更长时间才值得建造,这会导致刷怪笼累积大量死亡数量,并且恢复正常的耗时很长。

你可以通过将 spawner_max_wait 设置为 0 来禁用此功能。

铁傀儡农场削弱

由配置选项 golem_detection_memory=10000 控制,该选项会在村民看到铁傀儡后,增加其不生成铁傀儡的时间间隔(以游戏刻为单位)。设置为 0 可禁用。

袭击塔反制措施

raid_center_min_randomization=16
raid_center_max_randomization=24

这两个值调节袭击中心位置的随机化程度,这会对使用单一、小型生成平台的袭击塔造成阻碍。尽管默认值应能导致现有设计在大多数情况下失效,但了解此随机化的玩家可能会重新设计他们的袭击塔以应对。在这种情况下,增加 raid_center_max_randomization 的值会使规避该反制措施变得更加困难,但也会降低(袭击未正确生成?)的失败率。

将两者都设为 0 可禁用此功能。

raid_min_size=512

这是开始袭击所需的最低村庄“面积”。这会破坏大多数现有的袭击塔设计,包括那些没有特定生成平台的设计。计算出的面积是包含玩家64格范围内所有兴趣点(已被认领的床和工作站点)的矩形面积。作为副作用,此功能也可能影响非常稀疏的自然村庄,特别是当它们刚刚被发现且床尚未被认领,或者地形导致村民无法找到它们时。它也会影响大多数村民已死亡的自然村庄。

设置为 0 可禁用此功能。

raid_no_bad_omen_loop=true

防止先前在袭击中生成并离开的灾厄村民给予不祥之兆效果。这可以防止无限袭击循环在第一次袭击之外继续触发新的袭击。