player and dimension loader with ecs system

This commit is contained in:
Tnze
2022-05-27 00:38:46 +08:00
parent d2f7db9d0d
commit 474d6a229b
34 changed files with 956 additions and 795 deletions

View File

@ -1,9 +1,7 @@
package save
import (
"encoding/binary"
"github.com/Tnze/go-mc/nbt"
"github.com/google/uuid"
"io"
)
@ -18,8 +16,7 @@ type PlayerData struct {
FallFlying byte
OnGround byte
UUID uuid.UUID `nbt:"-"`
UUIDLeast, UUIDMost int64
UUID [4]int32
PlayerGameType int32 `nbt:"playerGameType"`
Air int16
@ -80,8 +77,5 @@ type Item struct {
func ReadPlayerData(r io.Reader) (data PlayerData, err error) {
_, err = nbt.NewDecoder(r).Decode(&data)
//parse UUID from two int64s
binary.BigEndian.PutUint64(data.UUID[:], uint64(data.UUIDMost))
binary.BigEndian.PutUint64(data.UUID[8:], uint64(data.UUIDLeast))
return
}