Describe the bug
关闭服务器时,PlayerClass::getNbt内部遇到无效状态,引起崩溃
trace_2026-07-21_05-00-00.zip
To Reproduce
版本:LSE 0.19.2(0.18.2版本不会产生问题)
在服务器关闭时,PlayerClass::getNbt仍然被调用
例如,创建一个监听玩家离开事件,然后扫描该玩家NBT的JS插件,
玩家正常离开时,该插件逻辑运行正常,不会崩溃,
而服务器关闭时,若关闭前有玩家在线则会崩溃
FixCopyItem.js
测试发现这个崩溃无法被插件卸载事件拦截,可能是因为插件卸载事件在玩家离开事件之后发生
Expected behavior
避免崩溃现象发生
Screenshots
No response
Platform
Windows10&Windows11
BDS Version
1.26.20.5
LeviLamina Version
LeviLamina-26.20.4
LegacyScriptEngine Version
v0.19.2
Additional context
这个问题是1.26.20开始稳定出现的,也就是说,1.26.10(0.18.2)及以前的版本没有此直接崩溃的问题,这可能和近几个版本对nbt功能加强有关,但会对已有插件产生严重兼容性问题
Describe the bug
关闭服务器时,PlayerClass::getNbt内部遇到无效状态,引起崩溃
trace_2026-07-21_05-00-00.zip
To Reproduce
版本:LSE 0.19.2(0.18.2版本不会产生问题)
在服务器关闭时,PlayerClass::getNbt仍然被调用
例如,创建一个监听玩家离开事件,然后扫描该玩家NBT的JS插件,
玩家正常离开时,该插件逻辑运行正常,不会崩溃,
而服务器关闭时,若关闭前有玩家在线则会崩溃
FixCopyItem.js
测试发现这个崩溃无法被插件卸载事件拦截,可能是因为插件卸载事件在玩家离开事件之后发生
Expected behavior
避免崩溃现象发生
Screenshots
No response
Platform
Windows10&Windows11
BDS Version
1.26.20.5
LeviLamina Version
LeviLamina-26.20.4
LegacyScriptEngine Version
v0.19.2
Additional context
这个问题是1.26.20开始稳定出现的,也就是说,1.26.10(0.18.2)及以前的版本没有此直接崩溃的问题,这可能和近几个版本对nbt功能加强有关,但会对已有插件产生严重兼容性问题