彗星突袭

彗星突袭

坠落的彗星撞击你的世界,带来一波波敌人需要对抗——击碎彗星石,在突袭中存活,夺取战利品。

游戏玩法

彗星突袭

想要随机事件来让你的 Hytale 游戏体验更刺激吗?本模组添加了坠落的彗星,它们会撞击你的世界,带来一波波敌人供你战斗。击碎彗星石块即可开启遭遇战——存活所有波次并领取你的奖励。

本模组专为想要类似突袭体验的玩家,以及希望拥有可自定义奖励系统的服务器所有者而设计。你可以创建自己的自定义主题、定义多波次遭遇战、覆盖每个主题的战利品表,并调整生成与战斗的每一个方面。查看 comet_config.json 底部,有自定义波次配置的示例。

注意: 该模组仅在单人模式下测试过。多人模式功能应该可以工作,但尚未经过全面测试。如果你遇到问题,请报告!

特性

  • 4 种彗星等级 - 稀有、史诗、传奇。等级越高,战斗越艰难,战利品越好。
  • 主题波次 - 骷髅、哥布林、蜘蛛、特洛克、异乡人、亡灵军团……每个彗星随机选择一个主题(或者你可以强制指定一个)。
  • 多波次战斗 - 敌人分波次生成。清理完一波,下一波开始。最终波次后掉落奖励。
  • 地图标记 - 彗星会显示在你的地图上,方便你追踪它们的位置。
  • 完全可配置 - 生成率、敌人数目、战利品表、消失计时器……所有内容都可调整。

彗星所有权

默认情况下,每个彗星都“属于”为它生成的那个玩家。只有该玩家才能看到地图标记,并可以通过击碎彗星石块触发遭遇战。其他玩家无法与之互动。

如果你希望任何玩家都能触发任何彗星(对多人服务器很有用),请在配置中设置 "globalComets": true。启用后:

  • 所有玩家都能在地图上看到所有彗星标记。
  • 任何玩家都可以击碎并触发任何彗星。

彗星何时生成?

彗星会根据以下默认设置自然生成:

  • 生成间隔:每 2-5 分钟(120-300 秒)
  • 生成几率:每次间隔触发时有 40% 的几率生成
  • 生成距离:距离玩家 30-50 个方块
  • 消失:未被触发的稀有彗星会在 30 分钟后消失

生成的彗星等级取决于你所在的区域:

  • 区域 1:80% 稀有,20% 罕见
  • 区域 2:40% 稀有,40% 罕见,20% 史诗
  • 区域 3:30% 罕见,50% 史诗,20% 传奇
  • 区域 4:40% 史诗,60% 传奇

指令

主要指令

指令 描述
/comet spawn 在附近生成一个稀有彗星
/comet spawn --tier Rare 生成特定等级的彗星 (Uncommon, Rare, Epic, Legendary)
/comet spawn --theme Skeleton 以特定主题生成彗星
/comet spawn --tier Legendary --theme Void 结合等级和主题
/comet spawn --onme true 在你正上方生成彗星 (用于测试)
/comet test 模拟基于你当前位置的自动区域彗星生成
/comet zone 显示你当前的区域和彗星等级分布
/comet destroyall 移除世界中所有活跃的彗星石块
/comet reload 从文件重新加载配置

固定生成点指令

这些指令允许你设置自动在特定位置生成彗星的生成点。

指令 描述
/comet setspawn <cooldown> 添加一个固定生成点,冷却时间以秒为单位
/comet schedulespawn <times> 添加一个以现实时间触发的生成点 (例如 18:00,06:00)
/comet removespawn 移除最近的生成点 (10 个方块内)
/comet removespawn --target <name or index> 按名称或索引序号移除生成点
/comet listspawns 列出所有已配置的固定生成点

setspawn/schedulespawn 的可选标志: --name, --tier, --theme, --despawnMinutes, --notifyRadius, --notifyTitle, --notifySubtitle

完整示例:

/comet setspawn 300 --name "Boss Arena" --tier Epic --theme Trork --notifyRadius global --notifyTitle "Boss Incoming!"

生成指令示例

/comet spawn
/comet spawn --tier Legendary
/comet spawn --tier Epic --theme Trork
/comet spawn --theme Undead
/comet spawn --tier Rare --theme Spider
/comet spawn --onme true --tier Legendary

更多固定生成示例

/comet setspawn 300                                     # 基本冷却生成
/comet setspawn 600 --tier Epic --theme Trork           # 带等级和主题
/comet setspawn 300 --notifyRadius none                 # 无通知
/comet schedulespawn 18:00,06:00 --name "Evening Raid"  # 定时生成
/comet removespawn --target "Town Square"               # 按名称移除

可用主题

等级 1 = 稀有, 等级 2 = 罕见, 等级 3 = 史诗, 等级 4 = 传奇

  • Skeleton - 骷髅军团 (等级 1-2)
  • Goblin - 哥布林团伙 (等级 1-2)
  • Spider - 蜘蛛群 (等级 1-2)
  • Trork - 特洛克战帮 (等级 1-3)
  • Skeleton_Sand - 沙漠骷髅军团 (等级 1-3)
  • Sabertooth - 剑齿虎群 (等级 1-3)
  • Void - 虚空生物 (等级 1-3)
  • Outlander - 异乡人邪教 (等级 2-4)
  • Leopard - 雪豹群 (等级 2-4)
  • Skeleton_Burnt - 焦灼军团 (等级 3-4)
  • Ice - 传奇冰霜 (等级 3-4)
  • Burnt_Legendary - 传奇焦灼 (等级 3-4)
  • Lava - 传奇熔岩 (等级 3-4)
  • Earth - 传奇大地 (等级 3-4)
  • Undead - 亡灵军团 (等级 1-4)
  • Zombie - 僵尸异变体 (等级 3-4)

配置

所有设置都在 comet_config.json 文件中。使用任何文本编辑器打开它。

固定生成点

固定生成点存储在一个单独的文件中:fixed_spawns.json。你可以直接编辑此文件或使用游戏内指令。

每个生成点支持两种模式:

  • 冷却模式:每隔 X 秒生成一个彗星
  • 定时模式:在指定的现实时间生成 (24 小时制)
{
  "spawns": [
    {
      "x": 100,
      "y": 64,
      "z": 200,
      "name": "Town Square",
      "enabled": true,
      "cooldownSeconds": 300,
      "tier": "Epic",
      "theme": "Trork Warband",
      "despawnMinutes": 15.0
    },
    {
      "x": -50,
      "y": 70,
      "z": 150,
      "name": "Evening Raid",
      "enabled": true,
      "scheduledTimes": ["18:00", "06:00", "12:00"],
      "tier": "Legendary",
      "notifyRadius": "global",
      "notifyTitle": "The Arena Awakens!",
      "notifySubtitle": "A legendary challenge awaits..."
    }
  ]
}

选项:

  • name - 用于识别此生成点的自定义名称 (可选,供按名称移除时使用)
  • enabled - true/false,启用或禁用此生成点
  • cooldownSeconds - 生成间隔秒数 (如果 scheduledTimes 为空则使用)
  • scheduledTimes - 现实时间数组,例如 ["18:00", "06:00"] - 每天在这些时间生成
  • tier - Uncommon, Rare, Epic 或 Legendary (可选,未设置则随机)
  • theme - 主题名称,例如 "Skeleton Horde" (可选,未设置则随机)
  • despawnMinutes - 此生成点的自定义消失时间 (可选,未设置则使用全局设置)
  • notifyRadius - 通知半径:省略 = 100 个方块 (默认),"none" = 无通知,"global" = 所有玩家,数字 = 自定义半径 (方块数)
  • notifyTitle - 自定义通知标题 (可选,默认: "Tier Comet Falling!")
  • notifySubtitle - 自定义通知副标题 (可选,默认: "Watch the sky!")

主要部分

spawnSettings - 控制自然彗星生成

"spawnSettings": {
  "naturalSpawnsEnabled": true, // 设置为 false 以禁用随机生成 (仅使用固定生成点)
  "minDelaySeconds": 120,      // 生成尝试之间的最短时间
  "maxDelaySeconds": 300,      // 生成尝试之间的最长时间
  "spawnChance": 0.4,          // 计时器触发时生成几率为 40%
  "despawnTimeMinutes": 30.0,  // 稀有彗星在消失前存活多长时间
  "minSpawnDistance": 30,      // 距离玩家的最小方块数
  "maxSpawnDistance": 50,      // 距离玩家的最大方块数
  "globalComets": false        // 如果为 true,任何玩家都可以触发任何彗星
}

提示: 如果你希望彗星仅在固定位置生成,请将 "naturalSpawnsEnabled": false 设置,并在 fixed_spawns.json 中配置生成点。

zoneSpawnChances - 每个区域的等级分布

"zoneSpawnChances": {
  "0": { "tier1": 1.0, "tier2": 0.0, "tier3": 0.0, "tier4": 0.0 },
  "1": { "tier1": 0.8, "tier2": 0.2, "tier3": 0.0, "tier4": 0.0 }
}

tierSettings - 逐级战斗设置

"tierSettings": {
  "1": {
    "timeoutSeconds": 90,    // 波次超时前的时间
    "minRadius": 3.0,        // 敌人的最小生成半径
    "maxRadius": 5.0         // 敌人的最大生成半径
  }
}

rewardSettings - 每个等级的战利品掉落

"rewardSettings": {
  "1": {
    "drops": [
      {
        "id": "Ingredient_Bar_Copper",
        "minCount": 5,
        "maxCount": 7,
        "chance": 100,
        "displayName": "Copper Ingots"
      }
    ]
  }
}

themes - 敌人波次配置 (参见现有主题示例)

主题配置

主题可以拥有自定义奖励覆盖,替换默认的等级奖励:

"skeleton_siege": {
  "displayName": "Skeleton Siege",
  "naturalSpawn": false,      // 不会自然生成,只能通过指令
  "tiers": [2, 3],
  "waves": [...],
  "rewardOverride": {
    "2": {
      "drops": [...],
      "bonusDrops": [...]
    }
  }
}

在你测试的主题上使用 "naturalSpawn": false 以防止它们自然生成。

创建自定义主题

想制作你自己的遭遇战吗?查看 comet_config.json 底部的 skeleton_siege 主题,获取完整示例。你可以:

  • 定义具有不同敌人组成的多个波次
  • 为每个怪物设置逐级属性 (生命值、伤害、体型、速度)
  • 将 Boss 波次与普通波次分开配置
  • 用每个等级的自定义奖励覆盖默认战利品表
  • 使用 "naturalSpawn": false 在你测试期间防止主题自然生成

配置完全是 JSON 格式——只需复制一个现有主题,重命名它,然后开始调整。

给固定生成点的提示: 如果你正在为固定生成点 (比如 Boss 竞技场) 创建自定义主题,请在该主题上设置 "naturalSpawn": false,这样它只会在你配置的位置生成,而不会随机出现在世界中。

源代码

源代码可在 https://github.com/FrogCsLoL/Comet-Raids 获取。

错误报告

发现错误了?请在 Curseforge 或 Github 上报告。请包括你当时正在做什么、服务器控制台中的任何错误消息,以及你是在单人模式还是多人模式下运行。

使用与分发

本模组可自由使用、修改和重新分发。如果你分享它或在你自己的项目中使用它,请在某处注明我的名字 (Frog)。这就是我要求的全部。

致谢

Frog 创建

感谢 Pferd 平衡此模组。

本模组的部分内容借助 AI 辅助完成——主要是编码帮助以及放大一些视觉资源,例如模组图标。


祝你被传奇彗星虐得开心。