Skip to content

建议:虚拟实体 ID 提供正数选项(负数 ID 导致 DragonCore 等下游客户端 mod 无法渲染模型) #119

Closed

Description

@zhibeigg

问题

2.1.30(commit 300420f5)将 impl/util/Indexs.kt 的 nextIndex() 改为返回负数虚拟实体 ID,用于避开服务端真实实体 ID / 全息撞 ID。

但部分客户端 mod(如 DragonCore 龙核)无法处理负数实体 ID。当通过 Orryx 的 DragonCore 桥(DragonCoreCustomPacketSender)给 Adyeshach 实体套模型时,模型不渲染,客户端只显示原始盔甲架。真实体(正数 ID)渲染正常,问题仅出现在 Adyeshach 这类负数 ID 的封包实体上。

复现

  • 环境:Paper 1.12.2,Adyeshach 2.1.33,Orryx 2.39.103,DragonCore 服务端 2.6.2.9 + 客户端 [Mod]DragonCore-1.0.0
  • 用 Orryx 放出 Adyeshach 实体并经 DragonCore 套模型 → 实体只显示盔甲架,模型不出现
  • 把 nextIndex() 改回正数(基数保持高位,如 1_500_000_000)后恢复正常;降级到 2.1.28(负数改动之前)也正常

受影响版本

2.1.30 ~ 2.1.33

建议

提供配置项让虚拟实体 ID 可选正数(或可设置基数 / 正负开关),以兼容不支持负数实体 ID 的下游客户端 mod。负数虽然符合协议且能避开冲突,但对这类下游不友好。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions