diff --git a/src/game.zig b/src/game.zig index 37fa1b742a..c82f77b08b 100644 --- a/src/game.zig +++ b/src/game.zig @@ -320,6 +320,7 @@ pub const World = struct { // MARK: World main.sync.client.reset(); main.threadPool.clear(); + Player.super.deinit(.client); main.entity.client.clear(); self.itemDrops.deinit(); self.blockPalette.deinit(); @@ -332,8 +333,6 @@ pub const World = struct { // MARK: World main.server.stop(); main.entityModel.reset(); - Player.super.deinit(.client); - if (main.server.thread) |serverThread| { serverThread.join(); main.server.thread = null; diff --git a/src/server/Entity.zig b/src/server/Entity.zig index de3cbc7d4f..7ff6501d52 100644 --- a/src/server/Entity.zig +++ b/src/server/Entity.zig @@ -69,5 +69,7 @@ pub fn deinit(self: *@This(), comptime side: main.sync.Side) void { } if (side == .server) { main.entity.server.removeAllComponents(self.id); + } else { + main.entity.client.removeAllComponents(self.id); } }