promotional bannermobile promotional banner

Aeronautics Display Link Fix

Fixes a bug where Display Link's TargetOffset gets corrupted during physics assembly/disassembly when the display link and its target sign are on the same contraption in Create: Aeronautics.
Back to Files

aeronautics_display_link_fix-1.3-1.21.1.jar

File nameaeronautics_display_link_fix-1.3-1.21.1.jar
Uploader
FQO3FQO3
Uploaded
Jul 5, 2026
Downloads
1.1K
Size
10.1 KB
Mod Loaders
NeoForge
File ID
8372378
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:aeronautics-display-link-fix-1584301:8372378"

Learn more about Curse Maven

What's new

v1.3 — 全面 TargetOffset 保护

修复

  • 修复所有场景下 TargetOffset 损坏问题:此前的修复仅针对 Case 3(DL 和目标告示牌在同一结构上),但现在发现即使是 Case 1/2(DL 在结构中但告示牌不在),DisplayLink 的 TargetOffset 也会在 Sable 物理化/反物理化过程中被损坏。
    • 根本原因:物理化后 DL 的 target() 方法使用物理化空间坐标重新计算 offset=告示牌物理化位置-DL物理化位置,产生巨大异常值并持久化
  • 移除 Case 3 检测:不再需要 HashSet 预处理器或复杂的 Case 3 判定逻辑。所有被物理化的 DisplayLink 都需要保护。

更改

  • 简化架构:仅用一个 ThreadLocal DL_LIST 存储 (原始坐标, 新坐标, 修正后 offset) 三元组
  • Phase 1 在 loadWithComponents 之前保存所有 DisplayLink 的原始 TargetOffset 及旋转变换
  • Phase 2 在 TAIL 无条件恢复所有 DisplayLink 的正确 TargetOffset
  • BLOCKSET_CACHELIST_NEWPOSLIST_OFFSET ThreadLocal 全部移除

性能

  • O(1) 无:无需遍历方块列表或构造 HashSet,只处理 DisplayLink 本身
  • 对任意规模和任意数量 DisplayLink 的结构保持恒定开销

This mod has no additional files