Create: AeroPortals

Create: AeroPortals

驾驶你的Create: Aeronautics飞艇穿越MC或Modded传送门,整艘飞艇会随你一同前往。玩家、乘客、装饰物等一切都会一起传送。AeroPortals是连接Create飞艇物理与Minecraft传送门系统之间的桥梁。

创建

AeroPortals

驾驶你的 机械动力:航空学 飞艇穿越 Minecraft 或模组传送门,整艘船都会随你同行。玩家、乘客、装饰品等都会一同传送。AeroPortals 是连接机械动力飞艇(Sable 物理引擎)与 Minecraft 传送门系统的桥梁。

警告

Sable 是一个深度侵入性的物理模组,稳定性无法保证。使用本模组前请务必备份你的世界。 如果出现问题,请在我们的 问题追踪器 上报告,并附上日志和复现步骤。我们将尽最大努力在修复错误的同时满足新功能请求。

功能

  • 地狱传送门:驾驶飞艇飞入地狱传送门,你和飞艇会抵达另一端。飞艇太宽?那就建造一个宽阔的传送门。AeroPortals 会在目的地匹配源传送门的尺寸,必要时自动生成一个,并清理出安全降落区域,避免你被困在玄武岩墙中。

  • 末地传送门:驶入末地传送门,飞艇会降落在末地的黑曜石平台上。如果平台已被摧毁(或你在自定义末地中),AeroPortals 会在你抵达前重建它。从末地返回时会降落在世界出生点附近。

  • 以太传送门(安装了 The Aether 时):原理与地狱传送门相同,但使用萤石框架并传送至以太维度。

  • 新生魔艺传送门(安装了 Ars Nouveau 时):使用传送卷轴配置传送门目的地,然后驾驶飞艇飞入即可。飞艇会降落在配置的传送位置上方。

  • 龙之研究传送门(安装了 Draconic Evolution 时):构建一个配置了传送符咒的位移接收器传送门,然后驾驶飞艇通过。飞艇会降落在接收器存储的目标位置。

  • 椰林飘香传送(安装了 Tropicraft 时):驾驶飞艇时喝下椰林飘香,你和飞艇会传送到热带世界。在热带世界再喝一杯即可回家。

随行乘客

当飞艇传送时,以下乘客会一同前往:

  • 站在飞艇上的玩家
  • 装饰和存储:画、物品展示框(及其中物品)、盔甲架、所有矿车变种、方块/物品/文本展示实体
  • 功能性部件:机械动力的座位和装置、机械动力:航空学的螺旋桨和帆、植物魔法的魔力/红石脉冲、雪傀儡、牵绳结

以下实体不会一同传送:

  • 生物(牛、僵尸、村民等)
  • 掉落物
  • 弹射物、下落方块

这与飞艇正常飞行时的情况一致:这些实体会掉落。传送门传送的行为也相同。

想让牛上你的飞艇?

放入一个单文件数据包至 data/sable/tags/entity_type/retain_in_sub_level.json:

{
  "replace": false,
  "values": [
    "minecraft:cow",
    "minecraft:villager",
    "minecraft:wolf"
  ]
}

多个数据包可以完美合并,因此多个模组可以同时向此标签添加内容而不会互相冲突。

命令

/aeroportals teleport <dimension>(仅限管理员)

管理级命令(权限等级 2)。将你和所乘坐的飞艇传送至指定维度。自动补全服务器可用的维度:

  • 始终可用:overworld(主世界)、nether(地狱)、end(末地)
  • 安装 Aether 后可用:aether(以太)
  • 安装 Tropicraft 后可用:tropicraft(热带)
  • 你也可以直接输入任意自定义维度,格式为 namespace:path

飞艇会在目的地合理位置降落:末地为黑曜石平台,其他维度为地表上方安全处。

服务器管理员指南

配置

config/aeroportals-server.toml 在服务器首次启动时生成。

键 默认值 作用
detection.scan_interval_ticks 5 模组检测飞艇是否接触传送门的频率(以服务器刻为单位;20 = 1秒)。
detection.verbose_logging true 以 INFO 级别记录每次传送。设为 false 可减少日志输出。
detection.max_sublevel_aabb_volume 200000.0 跳过体积超过此值的飞艇传送。安全性保护,防止配置严重错误的飞艇触发传送。
teleport.portal_cooldown_ticks 200 传送后,飞艇在此时间内无法再次使用传送门(以刻为单位)。防止飞艇立即通过目的地传送门再次传送回去。
teleport.dest_portal_search_radius 128 AeroPortals 在决定新建传送门前,在目的地搜索现有匹配传送门的范围。
teleport.generate_matching_portal true 若为 false,当目的地未找到传送门时,传送将中止而非新建一个。

崩溃安全

AeroPortals 会在移动飞艇前将快照写入磁盘。如果服务器在传送过程中崩溃,飞艇将在下次启动时恢复,而非丢失。

已知限制

  • 绳索和连接件无法在传送后保留。 通过 Sable 绳索/停靠链接连接的飞艇会一同传送并保持编队,但物理连接本身会断裂。需在目的地重新系绳或重新停靠。
  • 其他模组的传送门类型不自动支持。 暮色森林、神秘时代等传送门无法识别。目前支持的传送门为原版地狱/末地,以及以太、新生魔艺、热带世界和龙之研究的传送门。
  • 每次传送速度会略有下降。 每次传送门旅行会损失约 10% 的速度(Sable 的重载设置)。如需完全保留速度,可在 Sable 配置中调整 sub_level_velocity_retained_on_load。

想支持其他传送门或维度?

请在 GitHub 问题追踪器 上开启一个 issue。我们乐于增加对其他传送门模组和自定义维度的支持:只需告知你想支持的模组,我们就会研究。

模组开发者信息

AeroPortals 会在每次传送后于 NeoForge 事件总线上触发 SubLevelTransferEvent,携带新的 SubLevel、源/目标维度及平移向量。如果你的模组需要跟踪跨 SubLevel 的位置(例如停靠对、伙伴引用),此事件可用于在移动后更新这些数据。

许可证

MIT 许可,详见 LICENSE.md。