公民冒险

公民冒险

一个面向冒险的Civillis扩展模块。

AI辅助创作 · 中国开发者制作

Civil Adventure

English · 中文

一个文礼(Civillis)的附属模组,添加了冒险区——即文明区的对应物。放置方块产生冒险区分数,从而在地图上创建冒险区,强化区域内的怪物,并覆盖文明区效果。


中文

Civil Adventure — 文礼冒险区拓展

Civil Adventure 是 文礼 (Civillis) 的附属模组。放置冒险区方块产生冒险区分数,触发冒险区后在地图上显示特殊颜色,区域内怪物自动获得属性加成,离开后超时回收,同时顶掉文礼的文明区判定。


Features / 功能

🗺️ Adventure Zone / 冒险区

EN: 放置冒险方块通过全高度扫描 + 区域聚合产生区块分数:

  • 方块变化时拦截 Level.setBlock,扫描全部 16 个 Y 层
  • 区块加载时自动重新扫描 — 分数在卸载后依然保留
  • 聚合检测半径内的所有区块(默认为 3 个区块 = 7×7 区域)
  • 归一化:min(1.0, raw / 5.0),≥ 0.7 触发冒险区
  • 破坏方块会减少分数;低于阈值时区域消退

CN: 放置冒险方块产生区块分数,方块变化时全高度 16 层扫描,区块加载自动重算。查询时聚合检测半径内所有区块,归一化分 ≥ 0.7 触发冒险区,破坏方块消退。

🏛️ Civil Native Zone Compatibility / 兼容文礼原生冒险区

EN: 怪物在文礼的 ZONE(结构策略)和 SHRINE(农场祭坛)区域中同样会获得强化,无需额外配置。

CN: 兼容文礼 civil_zone_policies 定义的结构冒险区(ZONE)和祭坛(SHRINE),实体同样触发强化。

⚔️ Adventure vs Civilization / 冒险区 vs 文明区

EN: 冒险区激活时,会将文礼的文明分数覆写为零,实现完全互斥:

  • 怪物不会逃跑(拦截 FleeCivilizationGoal)
  • 怪物正常生成(SpawnPolicy 看到文明分数为 0)
  • 文明扩散不会覆盖冒险区
  • Xaeros 小地图显示可配置的冒险区颜色

CN: 冒险区活跃时文明分被覆写为 0,怪物不逃逸、正常生成,文明扩散不覆盖冒险区。

👹 Entity Buffs / 实体强化

EN: 冒险区内的怪物获得可配置的属性修饰符和药水效果(同时支持自定义和文礼原生区域)。

  • TTL 续期:区域内的实体会持续 touch() 其条目;超时后属性自动移除
  • 可配置扫描间隔(默认 100 ticks = 5 秒)和强化超时(200 ticks = 10 秒)
  • 内存安全:TimestampedEntry + 定期 cleanupExpired(),外加 LivingDeathEvent 清理

CN: 冒险区内怪物获得配置的属性加成和药水效果。TTL 续期,离区超时回收,死亡即时清理。

🎯 Detector Integration / 文明探测器联动

EN: 冒险区边界在文礼的探测器上可见:

  • SonarScanMixin 双向 BFS 覆写(冒险区 → 在文明区中为 LOW,在野外为 HIGH)
  • 声呐边界墙和粒子效果对冒险区生效
  • Xaeros 小地图颜色可配置(支持透明度)

CN: 文明探测器上可见冒险区边界墙和粒子效果,Xaeros 颜色可配置。