Skip to content

feat: 新增 Settings.negative-entity-id 配置项,允许使用正数虚拟实体 ID#120

Open
zhibeigg wants to merge 1 commit into
TabooLib:2.1from
zhibeigg:feat/configurable-entity-id-sign
Open

feat: 新增 Settings.negative-entity-id 配置项,允许使用正数虚拟实体 ID#120
zhibeigg wants to merge 1 commit into
TabooLib:2.1from
zhibeigg:feat/configurable-entity-id-sign

Conversation

@zhibeigg

Copy link
Copy Markdown
Contributor

背景

关联 #119

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

但部分客户端 mod(如 DragonCore 龙核)无法处理负数实体 ID,导致这些 mod 无法在 Adyeshach 单位上渲染模型(例如经 Orryx 的 DragonCore 桥套模型时只显示原始实体)。

改动

新增配置项 Settings.negative-entity-id

  • 默认 true保持现状、完全向后兼容(负数 ID)。
  • 设为 false 时改用正数 ID,基数自动抬到 1_500_000_000,以尽量避免与服务端真实实体 ID(从低位递增)冲突。

涉及 3 个文件:

  • core/config.yml:新增带注释的配置项
  • AdyeshachSettings.kt:新增 negativeEntityId 绑定
  • Indexs.kt:基数与正负号按配置决定(初始化时缓存,保证同一会话内一致)

测试

  • 环境:Paper 1.12.2 + Orryx 2.39.103 + DragonCore 2.6.2.9(客户端 mod 1.0.0)
  • 设为 false 后,Adyeshach 单位经 DragonCore 正常渲染模型(此前只显示盔甲架)
  • :project:common:project:common-impl 编译通过

Closes #119

部分客户端 mod(如 DragonCore)无法处理负数实体 ID,导致无法在 Adyeshach
单位上渲染模型。新增配置项 negative-entity-id(默认 true,保持现状),
设为 false 时改用正数 ID,基数抬到 15 亿以尽量避免与服务端真实实体 ID 冲突。

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant