Rename cmd -> examples
This commit is contained in:
2
.github/workflows/go.yml
vendored
2
.github/workflows/go.yml
vendored
@ -22,7 +22,7 @@ jobs:
|
|||||||
- run: mkdir -p ./bin/tools
|
- run: mkdir -p ./bin/tools
|
||||||
|
|
||||||
- name: Build tools
|
- name: Build tools
|
||||||
run: go build -o ./bin/tools ./cmd/...
|
run: go build -o ./bin/tools ./examples/...
|
||||||
|
|
||||||
- name: Upload tools
|
- name: Upload tools
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v1
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,6 +14,6 @@
|
|||||||
# Output of the go coverage tool, specifically when used with LiteIDE
|
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||||
*.out
|
*.out
|
||||||
|
|
||||||
cmd/test/test.go
|
examples/test/test.go
|
||||||
.idea/
|
.idea/
|
||||||
.vscode/
|
.vscode/
|
@ -33,9 +33,6 @@ bot:
|
|||||||
|
|
||||||
> 由于仍在开发中,部分API在未来版本中可能会变动
|
> 由于仍在开发中,部分API在未来版本中可能会变动
|
||||||
|
|
||||||
Some examples are at `/cmd` folder.
|
|
||||||
有一些例子在cmd目录下
|
|
||||||
|
|
||||||
> `1.13.2` version is at [gomcbot](https://github.com/Tnze/gomcbot).
|
> `1.13.2` version is at [gomcbot](https://github.com/Tnze/gomcbot).
|
||||||
|
|
||||||
## Getting start
|
## Getting start
|
||||||
@ -105,4 +102,4 @@ Originally it's all right to write a bot with only `go-mc/net` package, but cons
|
|||||||
|
|
||||||
理论上讲,只用`go-mc/net`包实现一个bot是完全可行的,但是为了节省大家从头去理解MC握手、登录、加密等协议的过程,在`go-mc/bot`中我已经把这些都实现了,只不过它不是跨版本的。你可以直接使用,或者作为自己实现的参考。
|
理论上讲,只用`go-mc/net`包实现一个bot是完全可行的,但是为了节省大家从头去理解MC握手、登录、加密等协议的过程,在`go-mc/bot`中我已经把这些都实现了,只不过它不是跨版本的。你可以直接使用,或者作为自己实现的参考。
|
||||||
|
|
||||||
Now, go and have a look at the example!
|
Now, go and have a look at the examples!
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Package bot implements a simple Minecraft client that can join a server
|
// Package bot implements a simple Minecraft client that can join a server
|
||||||
// or just ping it for getting information.
|
// or just ping it for getting information.
|
||||||
//
|
//
|
||||||
// Runnable example could be found at cmd/ .
|
// Runnable example could be found at examples/ .
|
||||||
package bot
|
package bot
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/Tnze/go-mc/bot/basic"
|
||||||
|
"github.com/Tnze/go-mc/data/packetid"
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
"log"
|
"log"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -15,13 +18,31 @@ import (
|
|||||||
const timeout = 45
|
const timeout = 45
|
||||||
|
|
||||||
var (
|
var (
|
||||||
c *bot.Client
|
c *bot.Client
|
||||||
|
p *basic.Player
|
||||||
|
|
||||||
watch chan time.Time
|
watch chan time.Time
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
log.SetOutput(colorable.NewColorableStdout())
|
log.SetOutput(colorable.NewColorableStdout())
|
||||||
c = bot.NewClient()
|
c = bot.NewClient()
|
||||||
|
p = basic.NewPlayer(c, basic.DefaultSettings)
|
||||||
|
|
||||||
|
//Register event handlers
|
||||||
|
basic.EventsListener{
|
||||||
|
GameStart: onGameStart,
|
||||||
|
ChatMsg: onChatMsg,
|
||||||
|
Disconnect: onDisconnect,
|
||||||
|
Death: onDeath,
|
||||||
|
}.Attach(c)
|
||||||
|
c.Events.AddListener(bot.PacketHandler{
|
||||||
|
ID: packetid.NamedSoundEffect,
|
||||||
|
Priority: 0,
|
||||||
|
F: func(p pk.Packet) error {
|
||||||
|
return onSound()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
//Login
|
//Login
|
||||||
err := c.JoinServer("127.0.0.1")
|
err := c.JoinServer("127.0.0.1")
|
||||||
@ -30,13 +51,6 @@ func main() {
|
|||||||
}
|
}
|
||||||
log.Println("Login success")
|
log.Println("Login success")
|
||||||
|
|
||||||
//Register event handlers
|
|
||||||
c.Events.GameStart = onGameStart
|
|
||||||
c.Events.ChatMsg = onChatMsg
|
|
||||||
c.Events.Disconnect = onDisconnect
|
|
||||||
c.Events.SoundPlay = onSound
|
|
||||||
c.Events.Die = onDeath
|
|
||||||
|
|
||||||
//JoinGame
|
//JoinGame
|
||||||
err = c.HandleGame()
|
err = c.HandleGame()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -47,7 +61,7 @@ func main() {
|
|||||||
func onDeath() error {
|
func onDeath() error {
|
||||||
log.Println("Died and Respawned")
|
log.Println("Died and Respawned")
|
||||||
// If we exclude Respawn(...) then the player won't press the "Respawn" button upon death
|
// If we exclude Respawn(...) then the player won't press the "Respawn" button upon death
|
||||||
return c.Respawn()
|
return p.Respawn()
|
||||||
}
|
}
|
||||||
|
|
||||||
func onGameStart() error {
|
func onGameStart() error {
|
@ -1,4 +1,4 @@
|
|||||||
// Usage: go run cmd/ping/ping.go localhost
|
// Usage: go run examples/ping/ping.go localhost
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
Reference in New Issue
Block a user