进阶传送门

进阶传送门

进度共享、传送门限制以及FTB团队集成!

banner

进度传送门


现已支持 FTB 团队整合与进度共享!

将维度访问转变为有意义的进度推进。

进度传送门让整合包作者可以将下界、末地或几乎任何模组维度的传送锁定在原版或自定义进度之后。当目标被锁定时,玩家会收到清晰的反馈,一旦配置要求完成,目标维度便会自然开放。

3.1 版本还增加了可选的 FTB 团队进度共享功能,允许合作小组共同推进进度,而不需要每个队友都重复完成相同的 Boss 击杀或里程碑事件。


为何使用进度传送门?

许多进度整合包依赖荣誉规则、任务文本、禁用配方或自定义传送门替换来控制维度访问。进度传送门提供了一个专注的替代方案:

  • 保留原始的传送门或旅行方式。
  • 选择解锁每个维度所需的进度里程碑。
  • 可使用原版进度、模组进度或数据包中的进度。
  • 要求完成每个配置的里程碑,或允许多个有效的解锁路径。
  • 精确解释玩家还缺少什么。
  • 支持 FTB 团队队伍的共享进度。

它特别适用于专家包、RPG 包、任务包、分阶段探索、多人游戏进度以及自定义维度包。


特性

限制几乎所有维度

使用目标维度的标准 ID 进行配置:

dimensionRequirements = [
  "minecraft:the_nether | ALL | minecraft:story/mine_diamond",
  "minecraft:the_end | ALL | minecraft:nether/obtain_ancient_debris",
  "twilightforest:twilight_forest | ANY | mypack:quests/twilight_access, minecraft:adventure/kill_a_mob"
]

进度传送门会检查玩家维度旅行的目标,并在配置的限制条件未完成时予以阻止。未配置的维度不受影响。

选择 ALL 或 ANY

创建严格的进度路径或提供备选路线。

"minecraft:the_end | ALL | mypack:chapter_3, mypack:defeat_wither"

玩家必须完成这两个进度。

"minecraft:the_end | ANY | minecraft:end/kill_dragon, mypack:quests/end_pass"

任一进度都可解锁目标维度。

清晰的锁定传送门消息

被阻止的玩家可以看到:

  • 友好的目标维度名称。
  • 需要所有进度还是仅需任意一个进度。
  • 每个缺失进度的可读标题。
  • 可选的进度描述。
  • 当配置的进度 ID 未知时的警告。
  • 一个动作栏提示,提醒目标维度仍被锁定。

消息冷却时间可配置,以防止传送门骚扰。

维度解锁通知

当最终要求完成时,玩家会收到聊天和动作栏消息,确认目标维度现已可用。

可选的 FTB 团队进度共享

我的世界进度通常属于单个玩家。当团队完成一个集体里程碑,但只有一名玩家获得进度时,这可能会令人沮丧——例如,只有一位队友对末影龙造成最后一击。

启用 FTB 团队共享后:

  • 符合条件的进度会与同一队伍的成员共享。
  • 在线队友会立即收到进度。
  • 离线队友在返回后会收到存储的进度。
  • 在检查旅行前会同步限制进度。
  • 在升级后的世界中,可以从在线队友处检测到现有的限制进度。
  • FTB 团队是可选的,对于常规维度限制并非必需。

仅共享传送门使用的进度:

[ftbTeams]
shareAdvancementsWithTeam = true
shareOnlyPortalAdvancements = true

或共享大多数新获得的进度:

[ftbTeams]
shareAdvancementsWithTeam = true
shareOnlyPortalAdvancements = false

默认排除配方进度,以避免大量不可见的配方进度。

管理员友好的控制

公共/服务器配置包括:

  • 全局限制开关。
  • 创造模式绕过。
  • 旁观模式绕过。
  • 管理员绕过。
  • 可配置的管理员权限等级。
  • 警告冷却时间。
  • 被阻止传送门的重试延迟。
  • 进度描述。
  • 解锁消息。
  • FTB 团队共享行为。
  • 登录同步。
  • 共享进度通知。

更安全的整合包开发

在服务器启动时,进度传送门会验证其配置的限制条件,并报告缺失的维度、未知的进度、格式错误的 ID、无效模式以及重复的目标。

一个拼写错误不会静默地解锁一个目标。一个未知的进度会继续作为阻塞要求,直到配置或数据包被更正。


配置

配置文件生成于:

config/advancement_portals-common.toml

推荐的限制格式:

dimension | ALL/ANY | advancement, advancement

完整示例:

dimensionRequirements = [
  "minecraft:the_nether | ALL | minecraft:story/enchant_item, minecraft:story/mine_diamond",
  "minecraft:the_end | ANY | minecraft:end/kill_dragon, mypack:quests/end_access"
]

[dimensionGating] enabled = true creativePlayersBypassGates = true spectatorPlayersBypassGates = true operatorsBypassGates = true operatorBypassPermissionLevel = 2 warningCooldownSeconds = 2 blockedPortalRetryDelayTicks = 20 showAdvancementDescriptions = true showDimensionUnlockMessages = true

[ftbTeams] shareAdvancementsWithTeam = true shareOnlyPortalAdvancements = false shareRecipeAdvancements = false syncTeamAdvancementsOnLogin = true notifySharedAdvancements = true

现有的整合包仍支持旧格式:

"minecraft:the_end=[minecraft:end/kill_dragon]"

旧版条目会按 ALL 限制方式处理。


关于共享奖励的重要说明

FTB 团队共享会完成接收玩家正常我的世界进度条件。与该进度关联的奖励也可能被授予,包括:

  • 经验
  • 配方
  • 战利品
  • 函数

为了最安全的进度导向设置,请使用专用的隐藏进度用于维度访问,或启用:

shareOnlyPortalAdvancements = true

推荐用途

  • 进入下界前要求钻石。
  • 进入末地前要求远古残骸。
  • 完成一个任务章节后解锁一个维度。
  • 提供两个可选的 Boss,击败任意一个即可打开同一个目标维度。
  • 在合作 Boss 战后保持整个小队进度同步。
  • 在长进度树中分阶段引入模组维度。
  • 使用数据包进度作为不可见的访问标记。

从旧版本更新

3.1 版本继续读取原始的 3.0.x 版本的 dimensionRequirements 语法。你可以保留现有的限制条目,同时以自己的节奏迁移到新格式。

更新后,请检查生成的配置文件,并查看服务器启动日志中的验证警告。


Bandit-bytes Discord

Pixel Dream Studios Discord