test(entity): 未加载区块实体冻结回归测试;路线图回写稳定性与观感修复

This commit is contained in:
NianGao Dev
2026-08-16 21:00:24 +08:00
parent 9e2f5a6186
commit c0c8ba75fc
2 changed files with 23 additions and 0 deletions

View File

@@ -158,3 +158,25 @@ func TestEntityWorldIntegration(t *testing.T) {
m.Spawn(KindZombie, 8.5, float64(surf+1), 8.5)
m.Tick(0.05, w, [3]float64{12, float64(surf + 1), 8.5}) // 世界实现了 WorldView(Solid/Block/Sky/BlockLight)
}
// frozenWorld 全部区块未加载的世界视图(实体冻结测试)。
type frozenWorld struct{ flatWorld }
func (frozenWorld) ChunkLoaded(x, z int32) bool { return false }
// TestEntityFreeze 未加载区块实体冻结:不 tick、不下坠(崩溃根因回归测试)。
func TestEntityFreeze(t *testing.T) {
m := NewManager()
v := m.Spawn(KindVillager, 1000, 100, 1000)
v.Data = &Villager{}
w := frozenWorld{}
for i := 0; i < 10; i++ {
m.Tick(0.05, w, [3]float64{0, 64, 0})
}
if v.Pos[1] != 100 {
t.Fatalf("未加载区块实体应冻结,实际 y=%v", v.Pos[1])
}
if v.Pos[0] != 1000 {
t.Fatalf("未加载区块实体应冻结,实际 x=%v", v.Pos[0])
}
}