diff --git a/app/app.go b/app/app.go index 836fabe..41b430f 100644 --- a/app/app.go +++ b/app/app.go @@ -413,7 +413,7 @@ func FetchMCPlayer(id string) (*MCPlayer, error) { type DisplayTable interface { AddPlayer(player HypixelPlayer) - AddPlayerN(player string) + AddPlayerN(player string, app *App) Draw() GetPlayers() []HypixelPlayer } @@ -430,25 +430,36 @@ func (b *BedwarsDisplayTable) AddPlayer(player HypixelPlayer) { b.players = append(b.players, player) } -func (b *BedwarsDisplayTable) AddPlayerN(player string) { - cachedPlayer, isAlive := app.UUIDCache.Get(UUID) +func (b *BedwarsDisplayTable) AddPlayerN(player string, app *App) { + cachedPlayer, isAlive := app.UUIDCache.Get(player) if isAlive { - fmt.Printf("Cached player: %+v\n", cachedPlayer) - } else { - playerdat, err := FetchMCPlayer(UUID) + fetchedPlayer, err := app.API.FetchPlayer(cachedPlayer.Uuid) if err != nil { - fmt.Println("Error fetching player:", err) - } else { - app.UUIDCache.Add(&CachedUuid{ - CleanUuid: strings.ReplaceAll(playerdat.UUID, "-", ""), - Uuid: playerdat.UUID, - PlayerName: playerdat.Username, - TimeFetched: time.Now(), - }) - - fmt.Printf("Fetched and cached player: %+v\n", playerdat) + fmt.Println("Error fetching player from Hypixel API:", err) + return } + b.AddPlayer(fetchedPlayer.Player) + } else { + playerData, err := FetchMCPlayer(player) + if err != nil { + fmt.Println("Error fetching player data:", err) + return + } + + app.UUIDCache.Add(&CachedUuid{ + CleanUuid: strings.ReplaceAll(playerData.UUID, "-", ""), + Uuid: playerData.UUID, + PlayerName: playerData.Username, + TimeFetched: time.Now(), + }) + + fetchedPlayer, err := app.API.FetchPlayer(playerData.UUID) + if err != nil { + fmt.Println("Error fetching player from Hypixel API:", err) + return + } + b.AddPlayer(fetchedPlayer.Player) } } @@ -587,7 +598,7 @@ func (a *App) onFileEmit(line string) { print("Found Player: '") print(playerName) print("'\n") - a.CurrentDisplayTable.AddPlayerN(playerName) + a.CurrentDisplayTable.AddPlayerN(playerName, a) //playerName := strings.TrimSpace(player) //playerUUID, err := GetUUIDFromName(playerName) @@ -614,7 +625,7 @@ func (a *App) onFileEmit(line string) { print("Found Leader: '") print(playerName) print("'\n") - a.CurrentDisplayTable.AddPlayerN(playerName) + a.CurrentDisplayTable.AddPlayerN(playerName, a) // Parse Party Count party_count_msg, err := LogBuf.GetLineStepsBack(4) @@ -748,13 +759,4 @@ const UUID = "5328930e-d411-49cb-90ad-4e5c7b27dd86" func main() { app := NewApp(KEY) app.Start() - - res, err := app.API.FetchPlayer(UUID) - if err != nil { - fmt.Println(err) - return - } - fmt.Printf("%+v\n", res.Player) - app.CurrentDisplayTable.AddPlayer(res.Player) - app.CurrentDisplayTable.Draw() }