From 1fe983bcc9b84a48d056573b6cfb8b90f46cffa7 Mon Sep 17 00:00:00 2001 From: TwistedAsylumMC Date: Thu, 15 Aug 2024 15:25:19 +0100 Subject: [PATCH] session/handler_server_bound_loading_screen.go: Allow empty/0 screen IDs --- server/session/handler_server_bound_loading_screen.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/server/session/handler_server_bound_loading_screen.go b/server/session/handler_server_bound_loading_screen.go index d95cf7672..66a1bd1b8 100644 --- a/server/session/handler_server_bound_loading_screen.go +++ b/server/session/handler_server_bound_loading_screen.go @@ -16,12 +16,9 @@ type ServerBoundLoadingScreenHandler struct { // Handle ... func (h *ServerBoundLoadingScreenHandler) Handle(p packet.Packet, s *Session) error { pk := p.(*packet.ServerBoundLoadingScreen) - if h.expectedID.Load() == 0 { - return fmt.Errorf("unexpected loading screen packet") - } v, ok := pk.LoadingScreenID.Value() - if !ok { - return fmt.Errorf("expected loading screen ID %d, got nothing", h.expectedID.Load()) + if !ok || h.expectedID.Load() == 0 { + return nil } else if v != h.expectedID.Load() { return fmt.Errorf("expected loading screen ID %d, got %d", h.expectedID.Load(), v) } else if pk.Type == packet.LoadingScreenTypeEnd {