
ParcoolXSable
来自ParCool的跑酷动作,应用于Sable物理飞船,这是Create: Aeronautics背后的引擎。
查看大图允许在整合包中免费使用。
来自机械动力:航空学(Create: Aeronautics)的飞艇是游戏中最棒的跑酷表面,但实际却无法使用。在船体上奔跑时,ParCool 完全无效。不能蹬墙跑、不能抓边缘、不能翻越。飞船就像不存在一样。
现在它可以工作了。可以沿着船体装甲板蹬墙跑、跳离墙壁、沿墙壁滑下、抓住甲板边缘拉起自己、翻越栏杆、悬挂在索具上。
为什么之前无法工作
Sable 并不会将飞船的方块直接移动到世界中。它将它们作为普通的区块停放在地图远端的一个隐藏区域,并在飞船位置进行渲染和碰撞计算。ParCool 会直接询问世界你旁边的空间是否被占用,因此对于船体旁边的空间,世界会诚实地回答“空” — 那里确实没有方块。没有墙壁可跑,也没有东西可抓。
这个模组将玩家投影到飞船的坐标空间中,在那里运行完全相同的检查,然后将结果旋转回来。
功能特性
水平与垂直蹬墙跑、蹬墙跳、墙壁滑行、攀附悬崖、向上攀爬、翻越、悬挂下落、潜水。摩擦力和粒子效果也会从飞船方块中读取,因此船体上的冰面很滑,扬起的尘土与所站甲板的材质相匹配。
倾斜和弯曲的船体装甲板同样适用,可以从任何接近角度,并且适用于正在倾斜或俯仰的船体。ParCool 需要一面平坦的墙壁—一块齐胸高的方块表面,上方有清晰的空气—而船体很少满足这一点。当 ParCool 自身的检查失败时,该模组会围绕你采样十六个方向,在每个方向上扫过你身前的一薄片区域,并抓取固体转为空气的位置。所有检查仍然基于真实的碰撞箱,因此不会凭空创造出不存在的抓握点。
与其它模组的兼容性
附近没有飞船时,该模组完全无作为,因此在地面上 ParCool 的行为与未安装时完全一致。真实世界的墙壁总是优先于飞船的墙壁。
Hook 使用 MixinExtras,可与其他模组的处理器协同工作而不是冲突。ParCool+ / Compatibility Addon 完全不使用 mixin,因此也不会与其产生任何冲突。
机械动力的强力胶和蜂蜜方块不受影响 — 该模组只读取方块,并且唯一会写入的是玩家在攀附时的自身速度。
如果未来 ParCool 重命名了某些内容,此模组将变为惰性状态,而不会导致游戏崩溃。
配置
以下所有内容都位于 config/parcoolxsable-common.toml 文件中。
enabled(true) — 总开关searchMargin(1.5) — 在玩家周围寻找飞船的距离(以方块为单位)fixBlockLookups(true) — 从飞船方块读取摩擦力和粒子效果carryWhileAttached(true) — 在攀附或悬挂时随飞船移动carryWhileOnWall(false) — 在蹬墙跑时随飞船移动,若跟不上快速飞行的飞船可开启gripAssist(true) — 抓取倾斜和弯曲的船体,而不仅仅是平坦的墙壁gripReach(0.8) — 向前寻找边缘的距离slopeTolerance(0.45) — 在倾斜装甲板上身体一侧的额外触达距离
已知问题
- 在急剧倾斜的船体上,探测箱会有几厘米的偏差。航向完全没有影响。
- ParCool 的杆上悬挂只识别世界 X 和 Z 坐标,因此在以 45° 角度旋转的飞船上的杆,会吸附到较近的坐标轴上。
致谢
这个模组是连接两位作者作品的粘合剂:
- ParCool! 作者 alRex-U — 跑酷机制本身 — https://github.com/alRex-U/ParCool
- Sable 作者 ryanhcode — 飞船物理 — https://github.com/ryanhcode/sable
- Sable Companion 作者 ryanhcode — 兼容性 API,使此模组在不修改 Sable 内部结构的情况下得以实现 — https://github.com/ryanhcode/sable-companion
两位作者均与本项目无关联,也未对其表示认可。请不要向他们发送关于此模组的错误报告 — 请使用下方的 Issue 跟踪器。
前置要求
需要 ParCool 和 Sable。如果缺少其中任何一个,此模组会静默禁用自身。
源代码、问题和俄语说明文档:https://github.com/Argorice/ParcoolXSable
允许在整合包中免费使用。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。