Files
go-mc/bot/example_test.go
2021-02-27 20:20:17 +08:00

79 lines
1.5 KiB
Go

package bot
import (
"log"
"encoding/hex"
"github.com/Tnze/go-mc/offline"
"github.com/Tnze/go-mc/yggdrasil"
)
func ExamplePingAndList() {
resp, delay, err := PingAndList("localhost:25565")
if err != nil {
log.Fatalf("ping and list server fail: %v", err)
}
log.Println("Status:", string(resp))
log.Println("Delay:", delay)
}
func ExampleClient_JoinServer_offline() {
c := NewClient()
c.Auth.Name = "Tnze" // set it's name before login.
id := offline.NameToUUID(c.Auth.Name) // optional, get uuid of offline mode game
c.Auth.UUID = hex.EncodeToString(id[:])
//Login
err := c.JoinServer("127.0.0.1")
if err != nil {
log.Fatal(err)
}
log.Println("Login success")
// Register event handlers
// c.Events.GameStart = onGameStartFunc
// c.Events.ChatMsg = onChatMsgFunc
// c.Events.Disconnect = onDisconnectFunc
// ...
//JoinGame
err = c.HandleGame()
if err != nil {
log.Fatal(err)
}
}
func ExampleClient_JoinServer_online() {
c := NewClient()
//Login Mojang account to get AccessToken
auth, err := yggdrasil.Authenticate("Your E-mail", "Your Password")
if err != nil {
panic(err)
}
c.Auth.UUID, c.Auth.Name = auth.SelectedProfile()
c.Auth.AsTk = auth.AccessToken()
//Connect server
err = c.JoinServer("127.0.0.1")
if err != nil {
log.Fatal(err)
}
log.Println("Login success")
// Register event handlers
// c.Events.GameStart = onGameStartFunc
// c.Events.ChatMsg = onChatMsgFunc
// c.Events.Disconnect = onDisconnectFunc
// ...
//Join the game
err = c.HandleGame()
if err != nil {
log.Fatal(err)
}
}