package structs import ( "sync" "github.com/gofiber/websocket/v2" "krakatoa.net/backend/modules/logger" ) type MinecraftClient struct { Name string Connection *websocket.Conn connMu sync.Mutex CmdIDs []int cmdIDMu sync.Mutex } func (mcClient *MinecraftClient) SendBinaryMessage(conn *websocket.Conn, msg []byte) error { mcClient.connMu.Lock() defer mcClient.connMu.Unlock() return conn.WriteMessage(websocket.BinaryMessage, msg) } func (mcClient *MinecraftClient) RemoveCmdID(cmdID int) { mcClient.cmdIDMu.Lock() defer mcClient.cmdIDMu.Unlock() newArr, err := removeCmdIDFromList(mcClient.CmdIDs, cmdID) if err != nil { logger.WebVoice.Warnln("removeCmdIDFromList:", err) } else { mcClient.CmdIDs = newArr } }