diff --git a/.claude/settings.local.json b/.claude/settings.local.json deleted file mode 100644 index e0f02c4..0000000 --- a/.claude/settings.local.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "permissions": { - "allow": [ - "Bash(./packetizer)", - "Bash(packetizer)", - "Bash(find:*)", - "Bash(grep:*)", - "Bash(rg:*)", - "Bash(go:*)", - "Bash(./gen-packet.sh:*)", - "Bash(chmod:*)", - "Bash(/root/go/bin/packetizer:*)", - "**", - "*" - ], - "deny": [] - } -} \ No newline at end of file diff --git a/go.mod b/go.mod index 389ca62..101b9fc 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ toolchain go1.24.4 require ( github.com/Tnze/go-mc v1.20.3-0.20241224032005-539b4a3a7f03 github.com/google/uuid v1.6.0 - github.com/mlange-42/ark v0.4.3 ) replace github.com/Tnze/go-mc v1.20.3-0.20241224032005-539b4a3a7f03 => git.konjactw.dev/patyhank/go-mc v1.20.3-0.20250619063151-133e3fab4ac2 diff --git a/go.sum b/go.sum index 232a97b..13b0420 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/mlange-42/ark v0.4.3 h1:k5MydLdgONyOaHT0mfTJNW68kkHz24hkMnmzog6SOjw= github.com/mlange-42/ark v0.4.3/go.mod h1:47KXHr5HLftLn4iyL8w04iv7KJUNUoDymEIotD41f3o= +github.com/mlange-42/ark-tools v0.1.4 h1:GD+CYe+jx7b/HQCgdHNym04IwxsAfTdPgKskoM3Mwpw= +github.com/mlange-42/ark-tools v0.1.4/go.mod h1:+uS2tMZrMXRtPfRRN0S6F/ou7XbivqcFV/Lc214XRCQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= diff --git a/go.work b/go.work new file mode 100644 index 0000000..c9f13bc --- /dev/null +++ b/go.work @@ -0,0 +1,7 @@ +go 1.24.0 + +toolchain go1.24.4 + +use . + +use ../go-mc diff --git a/go.work.sum b/go.work.sum new file mode 100644 index 0000000..b02fbd3 --- /dev/null +++ b/go.work.sum @@ -0,0 +1,16 @@ +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= +golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk= +golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= diff --git a/login-sequence.txt b/login-sequence.txt new file mode 100644 index 0000000..fb54139 --- /dev/null +++ b/login-sequence.txt @@ -0,0 +1,45 @@ +The recommended login sequence as of 1.21 looks like this, where C is the client and S is the server: + +Client connects to the server +C→S: Handshake State=2 +C→S: Login Start +S→C: Encryption Request (optional) +Client auth (Only if server sent Encryption Request) +C→S: Encryption Response (Only if server sent Encryption Request) +Server auth, both enable encryption (Only if server sent Encryption Request) +S → C: Set Compression (Optional, enables compression) +S → C: Login Success +C → S: Login Acknowledged +C → S: Serverbound Plugin Message (Optional, minecraft:brand with the client's brand) +C → S: Client Information (Optional) +S → C: Clientbound Plugin Message (Optional, minecraft:brand with the server's brand) +S → C: Feature Flags (Optional) +S → C: Clientbound Known Packs +C → S: Serverbound Known Packs +S → C: Registry Data (Multiple) +S → C: Update Tags (Optional) +S → C: Finish Configuration +C → S: Acknowledge Finish Configuration +S → C: Login (play) +S → C: Change Difficulty (Optional) +S → C: Player Abilities (Optional) +S → C: Set Held Item (Optional) +S → C: Update Recipes (Optional) +S → C: Entity Event (Optional, for the OP permission level; see Entity statuses#Player) +S → C: Commands (Optional) +S → C: Update Recipe Book (Optional) +S → C: Synchronize Player Position +C → S: Confirm Teleportation +C → S: Set Player Position and Rotation (Optional, to confirm the spawn position) +S → C: Server Data (Optional) +S → C: Player Info Update (Add Player action, all players except the one joining (the vanilla server separates these, you don't need to)) +S → C: Player Info Update (Add Player action, joining player) +S → C: Initialize World Border (Optional) +S → C: Update Time (Optional) +S → C: Set Default Spawn Position (Optional, “home” spawn, not where the client will spawn on login) +S → C: Game Event (Start waiting for level chunks event, required for the client to spawn) +S → C: Set Ticking State (Optional) +S → C: Step Tick (Optional, the vanilla server sends this regardless of ticking state) +S → C: Set Center Chunk +S → C: Chunk Data and Update Light (One sent for each chunk in a circular area centered on the player's position) +S → C: inventory, entities, etc. \ No newline at end of file diff --git a/main.go b/main.go index 06ab7d0..7905807 100644 --- a/main.go +++ b/main.go @@ -1 +1,5 @@ package main + +func main() { + +} diff --git a/codec/component/attribute_modifiers.go b/pkg/protocol/component/attribute_modifiers.go similarity index 91% rename from codec/component/attribute_modifiers.go rename to pkg/protocol/component/attribute_modifiers.go index dce2358..8b500bf 100644 --- a/codec/component/attribute_modifiers.go +++ b/pkg/protocol/component/attribute_modifiers.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" ) //codec:gen diff --git a/codec/component/axolotl_variant.go b/pkg/protocol/component/axolotl_variant.go similarity index 78% rename from codec/component/axolotl_variant.go rename to pkg/protocol/component/axolotl_variant.go index c6959ee..ec14d97 100644 --- a/codec/component/axolotl_variant.go +++ b/pkg/protocol/component/axolotl_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type AxolotlVariant struct { diff --git a/codec/component/banner_patterns.go b/pkg/protocol/component/banner_patterns.go similarity index 90% rename from codec/component/banner_patterns.go rename to pkg/protocol/component/banner_patterns.go index 2dd8a77..35698d5 100644 --- a/codec/component/banner_patterns.go +++ b/pkg/protocol/component/banner_patterns.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/base_color.go b/pkg/protocol/component/base_color.go similarity index 75% rename from codec/component/base_color.go rename to pkg/protocol/component/base_color.go index f7aa321..4c18843 100644 --- a/codec/component/base_color.go +++ b/pkg/protocol/component/base_color.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type BaseColor struct { diff --git a/codec/component/bees.go b/pkg/protocol/component/bees.go similarity index 87% rename from codec/component/bees.go rename to pkg/protocol/component/bees.go index f0802c1..99796b0 100644 --- a/codec/component/bees.go +++ b/pkg/protocol/component/bees.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/block_entity_data.go b/pkg/protocol/component/block_entity_data.go similarity index 83% rename from codec/component/block_entity_data.go rename to pkg/protocol/component/block_entity_data.go index 3a90f48..f0a3bba 100644 --- a/codec/component/block_entity_data.go +++ b/pkg/protocol/component/block_entity_data.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/block_state.go b/pkg/protocol/component/block_state.go similarity index 81% rename from codec/component/block_state.go rename to pkg/protocol/component/block_state.go index f396656..fccc288 100644 --- a/codec/component/block_state.go +++ b/pkg/protocol/component/block_state.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type BlockState struct { diff --git a/codec/component/blocks_attacks.go b/pkg/protocol/component/blocks_attacks.go similarity index 94% rename from codec/component/blocks_attacks.go rename to pkg/protocol/component/blocks_attacks.go index e3a2c28..98632b4 100644 --- a/codec/component/blocks_attacks.go +++ b/pkg/protocol/component/blocks_attacks.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/break_sound.go b/pkg/protocol/component/break_sound.go similarity index 83% rename from codec/component/break_sound.go rename to pkg/protocol/component/break_sound.go index 8059527..a507a03 100644 --- a/codec/component/break_sound.go +++ b/pkg/protocol/component/break_sound.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/bucket_entity_data.go b/pkg/protocol/component/bucket_entity_data.go similarity index 83% rename from codec/component/bucket_entity_data.go rename to pkg/protocol/component/bucket_entity_data.go index f265f83..9ead694 100644 --- a/codec/component/bucket_entity_data.go +++ b/pkg/protocol/component/bucket_entity_data.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/bundle_contents.go b/pkg/protocol/component/bundle_contents.go similarity index 52% rename from codec/component/bundle_contents.go rename to pkg/protocol/component/bundle_contents.go index 9bc28c7..2e03cc6 100644 --- a/codec/component/bundle_contents.go +++ b/pkg/protocol/component/bundle_contents.go @@ -1,13 +1,15 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + slot2 "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type BundleContents struct { - Items []slot.Slot + Items []slot2.Slot } -func (*BundleContents) Type() slot.ComponentID { +func (*BundleContents) Type() slot2.ComponentID { return 41 } diff --git a/codec/component/can_break.go b/pkg/protocol/component/can_break.go similarity index 76% rename from codec/component/can_break.go rename to pkg/protocol/component/can_break.go index 97dce5e..5b49831 100644 --- a/codec/component/can_break.go +++ b/pkg/protocol/component/can_break.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type CanBreak struct { diff --git a/codec/component/can_place_on.go b/pkg/protocol/component/can_place_on.go similarity index 96% rename from codec/component/can_place_on.go rename to pkg/protocol/component/can_place_on.go index a8d11cf..e04729c 100644 --- a/codec/component/can_place_on.go +++ b/pkg/protocol/component/can_place_on.go @@ -3,7 +3,7 @@ package component import ( "io" - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/cat_collar.go b/pkg/protocol/component/cat_collar.go similarity index 75% rename from codec/component/cat_collar.go rename to pkg/protocol/component/cat_collar.go index c2d1314..2017075 100644 --- a/codec/component/cat_collar.go +++ b/pkg/protocol/component/cat_collar.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type CatCollar struct { diff --git a/codec/component/cat_variant.go b/pkg/protocol/component/cat_variant.go similarity index 76% rename from codec/component/cat_variant.go rename to pkg/protocol/component/cat_variant.go index 9b343e7..290cc31 100644 --- a/codec/component/cat_variant.go +++ b/pkg/protocol/component/cat_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type CatVariant struct { diff --git a/codec/component/charged_projectiles.go b/pkg/protocol/component/charged_projectiles.go similarity index 52% rename from codec/component/charged_projectiles.go rename to pkg/protocol/component/charged_projectiles.go index b17c6e8..bd69117 100644 --- a/codec/component/charged_projectiles.go +++ b/pkg/protocol/component/charged_projectiles.go @@ -1,13 +1,15 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + slot2 "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type ChargedProjectiles struct { - Projectiles []slot.Slot + Projectiles []slot2.Slot } -func (*ChargedProjectiles) Type() slot.ComponentID { +func (*ChargedProjectiles) Type() slot2.ComponentID { return 40 } diff --git a/codec/component/chicken_variant.go b/pkg/protocol/component/chicken_variant.go similarity index 94% rename from codec/component/chicken_variant.go rename to pkg/protocol/component/chicken_variant.go index 9553005..fb49be2 100644 --- a/codec/component/chicken_variant.go +++ b/pkg/protocol/component/chicken_variant.go @@ -3,7 +3,7 @@ package component import ( "io" - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/codecs.go b/pkg/protocol/component/codecs.go similarity index 99% rename from codec/component/codecs.go rename to pkg/protocol/component/codecs.go index 85968ac..78e66bb 100644 --- a/codec/component/codecs.go +++ b/pkg/protocol/component/codecs.go @@ -3602,106 +3602,13 @@ func (c WrittenBookPage) WriteTo(w io.Writer) (n int64, err error) { return n, err } -// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice. -type StringVarIntArray []string - -func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.String(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(StringVarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - -// Int32VarIntVarIntArray a utility type for encoding/decoding packet.VarInt -> int32[packet.VarInt] slice. -type Int32VarIntVarIntArray []int32 - -func (a Int32VarIntVarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.VarInt(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(Int32VarIntVarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.VarInt)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - // Float32VarIntArray a utility type for encoding/decoding packet.Float -> float32[packet.VarInt] slice. type Float32VarIntArray []float32 func (a Float32VarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -3748,7 +3655,8 @@ type BoolVarIntArray []bool func (a BoolVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -3795,7 +3703,8 @@ type Int32VarIntArray []int32 func (a Int32VarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -3842,7 +3751,8 @@ type Int32PrefixedArrayVarIntArray []int32 func (a Int32PrefixedArrayVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -3883,3 +3793,99 @@ func (a *Int32PrefixedArrayVarIntArray) ReadFrom(r io.Reader) (n int64, err erro return n, err } + +// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice. +type StringVarIntArray []string + +func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.String(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(StringVarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} + +// Int32VarIntVarIntArray a utility type for encoding/decoding packet.VarInt -> int32[packet.VarInt] slice. +type Int32VarIntVarIntArray []int32 + +func (a Int32VarIntVarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.VarInt(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(Int32VarIntVarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.VarInt)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} diff --git a/codec/component/components.go b/pkg/protocol/component/components.go similarity index 99% rename from codec/component/components.go rename to pkg/protocol/component/components.go index 37e4317..9c1cb7d 100644 --- a/codec/component/components.go +++ b/pkg/protocol/component/components.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) func init() { slot.RegisterComponent(func() slot.Component { diff --git a/codec/component/consumable.go b/pkg/protocol/component/consumable.go similarity index 94% rename from codec/component/consumable.go rename to pkg/protocol/component/consumable.go index fb4d599..b1fecd5 100644 --- a/codec/component/consumable.go +++ b/pkg/protocol/component/consumable.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/container.go b/pkg/protocol/component/container.go similarity index 50% rename from codec/component/container.go rename to pkg/protocol/component/container.go index 57e536f..a7268a2 100644 --- a/codec/component/container.go +++ b/pkg/protocol/component/container.go @@ -1,13 +1,15 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + slot2 "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Container struct { - Items []slot.Slot + Items []slot2.Slot } -func (*Container) Type() slot.ComponentID { +func (*Container) Type() slot2.ComponentID { return 66 } diff --git a/codec/component/container_loot.go b/pkg/protocol/component/container_loot.go similarity index 83% rename from codec/component/container_loot.go rename to pkg/protocol/component/container_loot.go index 222a6a4..150e61e 100644 --- a/codec/component/container_loot.go +++ b/pkg/protocol/component/container_loot.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/cow_variant.go b/pkg/protocol/component/cow_variant.go similarity index 76% rename from codec/component/cow_variant.go rename to pkg/protocol/component/cow_variant.go index 0e8d6a8..dfedca6 100644 --- a/codec/component/cow_variant.go +++ b/pkg/protocol/component/cow_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type CowVariant struct { diff --git a/codec/component/creative_slot_lock.go b/pkg/protocol/component/creative_slot_lock.go similarity index 77% rename from codec/component/creative_slot_lock.go rename to pkg/protocol/component/creative_slot_lock.go index d51ee0a..8bebe73 100644 --- a/codec/component/creative_slot_lock.go +++ b/pkg/protocol/component/creative_slot_lock.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type CreativeSlotLock struct { diff --git a/codec/component/custom_data.go b/pkg/protocol/component/custom_data.go similarity index 82% rename from codec/component/custom_data.go rename to pkg/protocol/component/custom_data.go index b09ada2..44a8f60 100644 --- a/codec/component/custom_data.go +++ b/pkg/protocol/component/custom_data.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/custom_model_data.go b/pkg/protocol/component/custom_model_data.go similarity index 81% rename from codec/component/custom_model_data.go rename to pkg/protocol/component/custom_model_data.go index 31931f5..5f70653 100644 --- a/codec/component/custom_model_data.go +++ b/pkg/protocol/component/custom_model_data.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type CustomModelData struct { diff --git a/codec/component/custom_name.go b/pkg/protocol/component/custom_name.go similarity index 81% rename from codec/component/custom_name.go rename to pkg/protocol/component/custom_name.go index ee9b397..5580e44 100644 --- a/codec/component/custom_name.go +++ b/pkg/protocol/component/custom_name.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" ) diff --git a/codec/component/damage.go b/pkg/protocol/component/damage.go similarity index 75% rename from codec/component/damage.go rename to pkg/protocol/component/damage.go index 3b2fae7..844bf7a 100644 --- a/codec/component/damage.go +++ b/pkg/protocol/component/damage.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Damage struct { diff --git a/codec/component/damage_resistant.go b/pkg/protocol/component/damage_resistant.go similarity index 85% rename from codec/component/damage_resistant.go rename to pkg/protocol/component/damage_resistant.go index 7c7b4c3..b4275d6 100644 --- a/codec/component/damage_resistant.go +++ b/pkg/protocol/component/damage_resistant.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/death_protection.go b/pkg/protocol/component/death_protection.go similarity index 78% rename from codec/component/death_protection.go rename to pkg/protocol/component/death_protection.go index e72aa92..927b344 100644 --- a/codec/component/death_protection.go +++ b/pkg/protocol/component/death_protection.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type DeathProtection struct { diff --git a/codec/component/debug_stick_state.go b/pkg/protocol/component/debug_stick_state.go similarity index 83% rename from codec/component/debug_stick_state.go rename to pkg/protocol/component/debug_stick_state.go index e9b106a..3494a34 100644 --- a/codec/component/debug_stick_state.go +++ b/pkg/protocol/component/debug_stick_state.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/dyed_color.go b/pkg/protocol/component/dyed_color.go similarity index 78% rename from codec/component/dyed_color.go rename to pkg/protocol/component/dyed_color.go index 01a5c23..bf29b40 100644 --- a/codec/component/dyed_color.go +++ b/pkg/protocol/component/dyed_color.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type DyedColor struct { diff --git a/codec/component/enchantable.go b/pkg/protocol/component/enchantable.go similarity index 76% rename from codec/component/enchantable.go rename to pkg/protocol/component/enchantable.go index b8b5881..c422fcf 100644 --- a/codec/component/enchantable.go +++ b/pkg/protocol/component/enchantable.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Enchantable struct { diff --git a/codec/component/enchantment_glint_override.go b/pkg/protocol/component/enchantment_glint_override.go similarity index 79% rename from codec/component/enchantment_glint_override.go rename to pkg/protocol/component/enchantment_glint_override.go index e69c70a..7f7bc02 100644 --- a/codec/component/enchantment_glint_override.go +++ b/pkg/protocol/component/enchantment_glint_override.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type EnchantmentGlintOverride struct { diff --git a/codec/component/enchantments.go b/pkg/protocol/component/enchantments.go similarity index 82% rename from codec/component/enchantments.go rename to pkg/protocol/component/enchantments.go index 1c0bc33..50b2ab3 100644 --- a/codec/component/enchantments.go +++ b/pkg/protocol/component/enchantments.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Enchantments struct { diff --git a/codec/component/entity_data.go b/pkg/protocol/component/entity_data.go similarity index 82% rename from codec/component/entity_data.go rename to pkg/protocol/component/entity_data.go index f44cad2..2f08239 100644 --- a/codec/component/entity_data.go +++ b/pkg/protocol/component/entity_data.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/equippable.go b/pkg/protocol/component/equippable.go similarity index 93% rename from codec/component/equippable.go rename to pkg/protocol/component/equippable.go index fe658a9..a2ddf0b 100644 --- a/codec/component/equippable.go +++ b/pkg/protocol/component/equippable.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/firework_explosion.go b/pkg/protocol/component/firework_explosion.go similarity index 86% rename from codec/component/firework_explosion.go rename to pkg/protocol/component/firework_explosion.go index 3e1b40a..a45d980 100644 --- a/codec/component/firework_explosion.go +++ b/pkg/protocol/component/firework_explosion.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type FireworkExplosion struct { diff --git a/codec/component/fireworks.go b/pkg/protocol/component/fireworks.go similarity index 79% rename from codec/component/fireworks.go rename to pkg/protocol/component/fireworks.go index c626b15..48a608d 100644 --- a/codec/component/fireworks.go +++ b/pkg/protocol/component/fireworks.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Fireworks struct { diff --git a/codec/component/food.go b/pkg/protocol/component/food.go similarity index 79% rename from codec/component/food.go rename to pkg/protocol/component/food.go index 8cfca97..9ae6bcd 100644 --- a/codec/component/food.go +++ b/pkg/protocol/component/food.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Food struct { diff --git a/codec/component/fox_variant.go b/pkg/protocol/component/fox_variant.go similarity index 76% rename from codec/component/fox_variant.go rename to pkg/protocol/component/fox_variant.go index 484ca30..54e6c71 100644 --- a/codec/component/fox_variant.go +++ b/pkg/protocol/component/fox_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type FoxVariant struct { diff --git a/codec/component/frog_variant.go b/pkg/protocol/component/frog_variant.go similarity index 77% rename from codec/component/frog_variant.go rename to pkg/protocol/component/frog_variant.go index b420c2f..dbbbbad 100644 --- a/codec/component/frog_variant.go +++ b/pkg/protocol/component/frog_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type FrogVariant struct { diff --git a/codec/component/glider.go b/pkg/protocol/component/glider.go similarity index 73% rename from codec/component/glider.go rename to pkg/protocol/component/glider.go index 319e50b..0e18c85 100644 --- a/codec/component/glider.go +++ b/pkg/protocol/component/glider.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Glider struct { diff --git a/codec/component/horse_variant.go b/pkg/protocol/component/horse_variant.go similarity index 77% rename from codec/component/horse_variant.go rename to pkg/protocol/component/horse_variant.go index e311ad4..5e959f8 100644 --- a/codec/component/horse_variant.go +++ b/pkg/protocol/component/horse_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type HorseVariant struct { diff --git a/codec/component/instrument.go b/pkg/protocol/component/instrument.go similarity index 89% rename from codec/component/instrument.go rename to pkg/protocol/component/instrument.go index 85691f4..5f81af3 100644 --- a/codec/component/instrument.go +++ b/pkg/protocol/component/instrument.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/intangible_projectile.go b/pkg/protocol/component/intangible_projectile.go similarity index 85% rename from codec/component/intangible_projectile.go rename to pkg/protocol/component/intangible_projectile.go index cf97804..96a7e75 100644 --- a/codec/component/intangible_projectile.go +++ b/pkg/protocol/component/intangible_projectile.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/item_model.go b/pkg/protocol/component/item_model.go similarity index 82% rename from codec/component/item_model.go rename to pkg/protocol/component/item_model.go index 514b8d0..384f3d9 100644 --- a/codec/component/item_model.go +++ b/pkg/protocol/component/item_model.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/item_name.go b/pkg/protocol/component/item_name.go similarity index 81% rename from codec/component/item_name.go rename to pkg/protocol/component/item_name.go index 4321a43..75617af 100644 --- a/codec/component/item_name.go +++ b/pkg/protocol/component/item_name.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" ) diff --git a/codec/component/jukebox_playable.go b/pkg/protocol/component/jukebox_playable.go similarity index 95% rename from codec/component/jukebox_playable.go rename to pkg/protocol/component/jukebox_playable.go index 68ce21c..81016e8 100644 --- a/codec/component/jukebox_playable.go +++ b/pkg/protocol/component/jukebox_playable.go @@ -3,7 +3,7 @@ package component import ( "io" - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/llama_variant.go b/pkg/protocol/component/llama_variant.go similarity index 77% rename from codec/component/llama_variant.go rename to pkg/protocol/component/llama_variant.go index 2b1cc73..b53fd13 100644 --- a/codec/component/llama_variant.go +++ b/pkg/protocol/component/llama_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type LlamaVariant struct { diff --git a/codec/component/lock.go b/pkg/protocol/component/lock.go similarity index 81% rename from codec/component/lock.go rename to pkg/protocol/component/lock.go index 21f8625..761b568 100644 --- a/codec/component/lock.go +++ b/pkg/protocol/component/lock.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/lodestone_tracker.go b/pkg/protocol/component/lodestone_tracker.go similarity index 89% rename from codec/component/lodestone_tracker.go rename to pkg/protocol/component/lodestone_tracker.go index e1b6643..c2d5a7d 100644 --- a/codec/component/lodestone_tracker.go +++ b/pkg/protocol/component/lodestone_tracker.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/lore.go b/pkg/protocol/component/lore.go similarity index 80% rename from codec/component/lore.go rename to pkg/protocol/component/lore.go index 367000e..6bfa76e 100644 --- a/codec/component/lore.go +++ b/pkg/protocol/component/lore.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" ) diff --git a/codec/component/map_color.go b/pkg/protocol/component/map_color.go similarity index 78% rename from codec/component/map_color.go rename to pkg/protocol/component/map_color.go index 98b569c..08f5cd6 100644 --- a/codec/component/map_color.go +++ b/pkg/protocol/component/map_color.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type MapColor struct { diff --git a/codec/component/map_decorations.go b/pkg/protocol/component/map_decorations.go similarity index 84% rename from codec/component/map_decorations.go rename to pkg/protocol/component/map_decorations.go index cd6fa7f..470dc63 100644 --- a/codec/component/map_decorations.go +++ b/pkg/protocol/component/map_decorations.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/map_id.go b/pkg/protocol/component/map_id.go similarity index 74% rename from codec/component/map_id.go rename to pkg/protocol/component/map_id.go index 8e94efa..728111a 100644 --- a/codec/component/map_id.go +++ b/pkg/protocol/component/map_id.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type MapID struct { diff --git a/codec/component/map_post_processing.go b/pkg/protocol/component/map_post_processing.go similarity index 80% rename from codec/component/map_post_processing.go rename to pkg/protocol/component/map_post_processing.go index a1c8a16..fefe9e3 100644 --- a/codec/component/map_post_processing.go +++ b/pkg/protocol/component/map_post_processing.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type MapPostProcessing struct { diff --git a/codec/component/max_damage.go b/pkg/protocol/component/max_damage.go similarity index 76% rename from codec/component/max_damage.go rename to pkg/protocol/component/max_damage.go index 1ba8c53..335bda0 100644 --- a/codec/component/max_damage.go +++ b/pkg/protocol/component/max_damage.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type MaxDamage struct { diff --git a/codec/component/max_stack_size.go b/pkg/protocol/component/max_stack_size.go similarity index 77% rename from codec/component/max_stack_size.go rename to pkg/protocol/component/max_stack_size.go index 86413ab..770e11a 100644 --- a/codec/component/max_stack_size.go +++ b/pkg/protocol/component/max_stack_size.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type MaxStackSize struct { diff --git a/codec/component/mooshroom_variant.go b/pkg/protocol/component/mooshroom_variant.go similarity index 78% rename from codec/component/mooshroom_variant.go rename to pkg/protocol/component/mooshroom_variant.go index 1be1872..eb56f8f 100644 --- a/codec/component/mooshroom_variant.go +++ b/pkg/protocol/component/mooshroom_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type MooshroomVariant struct { diff --git a/codec/component/note_block_sound.go b/pkg/protocol/component/note_block_sound.go similarity index 83% rename from codec/component/note_block_sound.go rename to pkg/protocol/component/note_block_sound.go index fc9b240..1cb290c 100644 --- a/codec/component/note_block_sound.go +++ b/pkg/protocol/component/note_block_sound.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/ominous_bottle_amplifier.go b/pkg/protocol/component/ominous_bottle_amplifier.go similarity index 80% rename from codec/component/ominous_bottle_amplifier.go rename to pkg/protocol/component/ominous_bottle_amplifier.go index d3ff2b0..bd2eb12 100644 --- a/codec/component/ominous_bottle_amplifier.go +++ b/pkg/protocol/component/ominous_bottle_amplifier.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type OminousBottleAmplifier struct { diff --git a/codec/component/painting_variant.go b/pkg/protocol/component/painting_variant.go similarity index 88% rename from codec/component/painting_variant.go rename to pkg/protocol/component/painting_variant.go index 01b2c85..bb00762 100644 --- a/codec/component/painting_variant.go +++ b/pkg/protocol/component/painting_variant.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/parrot_variant.go b/pkg/protocol/component/parrot_variant.go similarity index 77% rename from codec/component/parrot_variant.go rename to pkg/protocol/component/parrot_variant.go index b751dc7..8717c61 100644 --- a/codec/component/parrot_variant.go +++ b/pkg/protocol/component/parrot_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type ParrotVariant struct { diff --git a/codec/component/pig_variant.go b/pkg/protocol/component/pig_variant.go similarity index 76% rename from codec/component/pig_variant.go rename to pkg/protocol/component/pig_variant.go index dbd44a5..100ab43 100644 --- a/codec/component/pig_variant.go +++ b/pkg/protocol/component/pig_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type PigVariant struct { diff --git a/codec/component/pot_decorations.go b/pkg/protocol/component/pot_decorations.go similarity index 78% rename from codec/component/pot_decorations.go rename to pkg/protocol/component/pot_decorations.go index 00bae72..62fa487 100644 --- a/codec/component/pot_decorations.go +++ b/pkg/protocol/component/pot_decorations.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type PotDecorations struct { diff --git a/codec/component/potion_contents.go b/pkg/protocol/component/potion_contents.go similarity index 93% rename from codec/component/potion_contents.go rename to pkg/protocol/component/potion_contents.go index 1beded8..b26e904 100644 --- a/codec/component/potion_contents.go +++ b/pkg/protocol/component/potion_contents.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" ) //codec:gen diff --git a/codec/component/potion_duration_scale.go b/pkg/protocol/component/potion_duration_scale.go similarity index 79% rename from codec/component/potion_duration_scale.go rename to pkg/protocol/component/potion_duration_scale.go index 5abe519..f7e033c 100644 --- a/codec/component/potion_duration_scale.go +++ b/pkg/protocol/component/potion_duration_scale.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type PotionDurationScale struct { diff --git a/codec/component/profile.go b/pkg/protocol/component/profile.go similarity index 91% rename from codec/component/profile.go rename to pkg/protocol/component/profile.go index 26c3da9..a4135c9 100644 --- a/codec/component/profile.go +++ b/pkg/protocol/component/profile.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/provides_banner_patterns.go b/pkg/protocol/component/provides_banner_patterns.go similarity index 84% rename from codec/component/provides_banner_patterns.go rename to pkg/protocol/component/provides_banner_patterns.go index c5fd361..921de15 100644 --- a/codec/component/provides_banner_patterns.go +++ b/pkg/protocol/component/provides_banner_patterns.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/provides_trim_material.go b/pkg/protocol/component/provides_trim_material.go similarity index 94% rename from codec/component/provides_trim_material.go rename to pkg/protocol/component/provides_trim_material.go index 7660fbd..d40ae45 100644 --- a/codec/component/provides_trim_material.go +++ b/pkg/protocol/component/provides_trim_material.go @@ -3,7 +3,7 @@ package component import ( "io" - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/rabbit_variant.go b/pkg/protocol/component/rabbit_variant.go similarity index 77% rename from codec/component/rabbit_variant.go rename to pkg/protocol/component/rabbit_variant.go index 7a3b9e9..4afc37a 100644 --- a/codec/component/rabbit_variant.go +++ b/pkg/protocol/component/rabbit_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type RabbitVariant struct { diff --git a/codec/component/rarity.go b/pkg/protocol/component/rarity.go similarity index 78% rename from codec/component/rarity.go rename to pkg/protocol/component/rarity.go index 572658c..863b9b2 100644 --- a/codec/component/rarity.go +++ b/pkg/protocol/component/rarity.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Rarity struct { diff --git a/codec/component/recipes.go b/pkg/protocol/component/recipes.go similarity index 81% rename from codec/component/recipes.go rename to pkg/protocol/component/recipes.go index 91b1c2a..3aacf54 100644 --- a/codec/component/recipes.go +++ b/pkg/protocol/component/recipes.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/nbt" ) diff --git a/codec/component/repair_cost.go b/pkg/protocol/component/repair_cost.go similarity index 76% rename from codec/component/repair_cost.go rename to pkg/protocol/component/repair_cost.go index 1ded72e..e1efcfe 100644 --- a/codec/component/repair_cost.go +++ b/pkg/protocol/component/repair_cost.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type RepairCost struct { diff --git a/codec/component/repairable.go b/pkg/protocol/component/repairable.go similarity index 82% rename from codec/component/repairable.go rename to pkg/protocol/component/repairable.go index ecb1408..fc0fecf 100644 --- a/codec/component/repairable.go +++ b/pkg/protocol/component/repairable.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/salmon_size.go b/pkg/protocol/component/salmon_size.go similarity index 76% rename from codec/component/salmon_size.go rename to pkg/protocol/component/salmon_size.go index d71f6c0..cfeda56 100644 --- a/codec/component/salmon_size.go +++ b/pkg/protocol/component/salmon_size.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type SalmonSize struct { diff --git a/codec/component/sheep_color.go b/pkg/protocol/component/sheep_color.go similarity index 75% rename from codec/component/sheep_color.go rename to pkg/protocol/component/sheep_color.go index 280b9a6..787751f 100644 --- a/codec/component/sheep_color.go +++ b/pkg/protocol/component/sheep_color.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type SheepColor struct { diff --git a/codec/component/shulker_color.go b/pkg/protocol/component/shulker_color.go similarity index 76% rename from codec/component/shulker_color.go rename to pkg/protocol/component/shulker_color.go index a4b0561..b43e068 100644 --- a/codec/component/shulker_color.go +++ b/pkg/protocol/component/shulker_color.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type ShulkerColor struct { diff --git a/codec/component/stored_enchantments.go b/pkg/protocol/component/stored_enchantments.go similarity index 79% rename from codec/component/stored_enchantments.go rename to pkg/protocol/component/stored_enchantments.go index 6063033..39e2463 100644 --- a/codec/component/stored_enchantments.go +++ b/pkg/protocol/component/stored_enchantments.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type StoredEnchantments struct { diff --git a/codec/component/suspicious_stew_effects.go b/pkg/protocol/component/suspicious_stew_effects.go similarity index 85% rename from codec/component/suspicious_stew_effects.go rename to pkg/protocol/component/suspicious_stew_effects.go index 99fd5e7..049dee6 100644 --- a/codec/component/suspicious_stew_effects.go +++ b/pkg/protocol/component/suspicious_stew_effects.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type SuspiciousStewEffects struct { diff --git a/codec/component/tool.go b/pkg/protocol/component/tool.go similarity index 91% rename from codec/component/tool.go rename to pkg/protocol/component/tool.go index 25f4276..97da645 100644 --- a/codec/component/tool.go +++ b/pkg/protocol/component/tool.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/tooltip_display.go b/pkg/protocol/component/tooltip_display.go similarity index 80% rename from codec/component/tooltip_display.go rename to pkg/protocol/component/tooltip_display.go index b753742..c74d75f 100644 --- a/codec/component/tooltip_display.go +++ b/pkg/protocol/component/tooltip_display.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type TooltipDisplay struct { diff --git a/codec/component/tooltip_style.go b/pkg/protocol/component/tooltip_style.go similarity index 83% rename from codec/component/tooltip_style.go rename to pkg/protocol/component/tooltip_style.go index 0d9500b..0608da5 100644 --- a/codec/component/tooltip_style.go +++ b/pkg/protocol/component/tooltip_style.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/trim.go b/pkg/protocol/component/trim.go similarity index 92% rename from codec/component/trim.go rename to pkg/protocol/component/trim.go index 0a72e08..f04a476 100644 --- a/codec/component/trim.go +++ b/pkg/protocol/component/trim.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/tropical_fish_base_color.go b/pkg/protocol/component/tropical_fish_base_color.go similarity index 79% rename from codec/component/tropical_fish_base_color.go rename to pkg/protocol/component/tropical_fish_base_color.go index 0dc89c3..3b13341 100644 --- a/codec/component/tropical_fish_base_color.go +++ b/pkg/protocol/component/tropical_fish_base_color.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type TropicalFishBaseColor struct { diff --git a/codec/component/tropical_fish_pattern.go b/pkg/protocol/component/tropical_fish_pattern.go similarity index 79% rename from codec/component/tropical_fish_pattern.go rename to pkg/protocol/component/tropical_fish_pattern.go index 4dbd836..0e1153c 100644 --- a/codec/component/tropical_fish_pattern.go +++ b/pkg/protocol/component/tropical_fish_pattern.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type TropicalFishPattern struct { diff --git a/codec/component/tropical_fish_pattern_color.go b/pkg/protocol/component/tropical_fish_pattern_color.go similarity index 80% rename from codec/component/tropical_fish_pattern_color.go rename to pkg/protocol/component/tropical_fish_pattern_color.go index 452f81f..7f192ea 100644 --- a/codec/component/tropical_fish_pattern_color.go +++ b/pkg/protocol/component/tropical_fish_pattern_color.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type TropicalFishPatternColor struct { diff --git a/codec/component/unbreakable.go b/pkg/protocol/component/unbreakable.go similarity index 75% rename from codec/component/unbreakable.go rename to pkg/protocol/component/unbreakable.go index f3dbca3..a84fd86 100644 --- a/codec/component/unbreakable.go +++ b/pkg/protocol/component/unbreakable.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Unbreakable struct { diff --git a/codec/component/use_cooldown.go b/pkg/protocol/component/use_cooldown.go similarity index 85% rename from codec/component/use_cooldown.go rename to pkg/protocol/component/use_cooldown.go index da6dded..2eef55d 100644 --- a/codec/component/use_cooldown.go +++ b/pkg/protocol/component/use_cooldown.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/use_remainder.go b/pkg/protocol/component/use_remainder.go similarity index 51% rename from codec/component/use_remainder.go rename to pkg/protocol/component/use_remainder.go index 3fa8357..3a5dc3d 100644 --- a/codec/component/use_remainder.go +++ b/pkg/protocol/component/use_remainder.go @@ -1,13 +1,15 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + slot2 "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type UseRemainder struct { - Remainder slot.Slot + Remainder slot2.Slot } -func (*UseRemainder) Type() slot.ComponentID { +func (*UseRemainder) Type() slot2.ComponentID { return 22 } diff --git a/codec/component/villager_variant.go b/pkg/protocol/component/villager_variant.go similarity index 78% rename from codec/component/villager_variant.go rename to pkg/protocol/component/villager_variant.go index 7dba3ec..aa51e7b 100644 --- a/codec/component/villager_variant.go +++ b/pkg/protocol/component/villager_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type VillagerVariant struct { diff --git a/codec/component/weapon.go b/pkg/protocol/component/weapon.go similarity index 79% rename from codec/component/weapon.go rename to pkg/protocol/component/weapon.go index abd57de..c6691d5 100644 --- a/codec/component/weapon.go +++ b/pkg/protocol/component/weapon.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type Weapon struct { diff --git a/codec/component/wolf_collar.go b/pkg/protocol/component/wolf_collar.go similarity index 75% rename from codec/component/wolf_collar.go rename to pkg/protocol/component/wolf_collar.go index 446cfbb..158c0e8 100644 --- a/codec/component/wolf_collar.go +++ b/pkg/protocol/component/wolf_collar.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type WolfCollar struct { diff --git a/codec/component/wolf_sound_variant.go b/pkg/protocol/component/wolf_sound_variant.go similarity index 78% rename from codec/component/wolf_sound_variant.go rename to pkg/protocol/component/wolf_sound_variant.go index 79cb182..81f8beb 100644 --- a/codec/component/wolf_sound_variant.go +++ b/pkg/protocol/component/wolf_sound_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type WolfSoundVariant struct { diff --git a/codec/component/wolf_variant.go b/pkg/protocol/component/wolf_variant.go similarity index 77% rename from codec/component/wolf_variant.go rename to pkg/protocol/component/wolf_variant.go index 1ef924f..bf5bed2 100644 --- a/codec/component/wolf_variant.go +++ b/pkg/protocol/component/wolf_variant.go @@ -1,6 +1,8 @@ package component -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type WolfVariant struct { diff --git a/codec/component/writable_book_content.go b/pkg/protocol/component/writable_book_content.go similarity index 89% rename from codec/component/writable_book_content.go rename to pkg/protocol/component/writable_book_content.go index 157105b..d1b2c4e 100644 --- a/codec/component/writable_book_content.go +++ b/pkg/protocol/component/writable_book_content.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/component/written_book_content.go b/pkg/protocol/component/written_book_content.go similarity index 92% rename from codec/component/written_book_content.go rename to pkg/protocol/component/written_book_content.go index 0c4cd2b..da5873d 100644 --- a/codec/component/written_book_content.go +++ b/pkg/protocol/component/written_book_content.go @@ -1,7 +1,7 @@ package component import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" pk "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/metadata/codecs.go b/pkg/protocol/metadata/codecs.go similarity index 100% rename from codec/metadata/codecs.go rename to pkg/protocol/metadata/codecs.go diff --git a/codec/metadata/metadata.go b/pkg/protocol/metadata/metadata.go similarity index 99% rename from codec/metadata/metadata.go rename to pkg/protocol/metadata/metadata.go index a2677b6..9656d21 100644 --- a/codec/metadata/metadata.go +++ b/pkg/protocol/metadata/metadata.go @@ -1,8 +1,9 @@ package metadata import ( - pk "github.com/Tnze/go-mc/net/packet" "io" + + pk "github.com/Tnze/go-mc/net/packet" ) type MetadataType int32 diff --git a/codec/metadata/values.go b/pkg/protocol/metadata/values.go similarity index 96% rename from codec/metadata/values.go rename to pkg/protocol/metadata/values.go index db97b22..2b222c0 100644 --- a/codec/metadata/values.go +++ b/pkg/protocol/metadata/values.go @@ -1,9 +1,9 @@ package metadata import ( - "git.konjactw.dev/patyhank/minego/codec/component" - "git.konjactw.dev/patyhank/minego/codec/particle" - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/component" + "git.konjactw.dev/patyhank/minego/pkg/protocol/particle" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" "github.com/Tnze/go-mc/nbt" pk "github.com/Tnze/go-mc/net/packet" diff --git a/codec/packet/configuration/client/clear_dialog.go b/pkg/protocol/packet/configuration/client/clear_dialog.go similarity index 100% rename from codec/packet/configuration/client/clear_dialog.go rename to pkg/protocol/packet/configuration/client/clear_dialog.go diff --git a/codec/packet/configuration/client/codecs.go b/pkg/protocol/packet/configuration/client/codecs.go similarity index 98% rename from codec/packet/configuration/client/codecs.go rename to pkg/protocol/packet/configuration/client/codecs.go index 857fef9..20b6882 100644 --- a/codec/packet/configuration/client/codecs.go +++ b/pkg/protocol/packet/configuration/client/codecs.go @@ -343,59 +343,13 @@ func (c ConfigUpdateEnabledFeatures) WriteTo(w io.Writer) (n int64, err error) { return n, err } -// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice. -type Int8VarIntArray []int8 - -func (a Int8VarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.Byte(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *Int8VarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(Int8VarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.Byte)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - // StringIdentifierVarIntArray a utility type for encoding/decoding packet.Identifier -> string[packet.VarInt] slice. type StringIdentifierVarIntArray []string func (a StringIdentifierVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -436,3 +390,51 @@ func (a *StringIdentifierVarIntArray) ReadFrom(r io.Reader) (n int64, err error) return n, err } + +// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice. +type Int8VarIntArray []int8 + +func (a Int8VarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.Byte(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *Int8VarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(Int8VarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.Byte)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} diff --git a/codec/packet/configuration/client/cookie_request.go b/pkg/protocol/packet/configuration/client/cookie_request.go similarity index 100% rename from codec/packet/configuration/client/cookie_request.go rename to pkg/protocol/packet/configuration/client/cookie_request.go diff --git a/codec/packet/configuration/client/custom_payload.go b/pkg/protocol/packet/configuration/client/custom_payload.go similarity index 100% rename from codec/packet/configuration/client/custom_payload.go rename to pkg/protocol/packet/configuration/client/custom_payload.go diff --git a/codec/packet/configuration/client/custom_report_details.go b/pkg/protocol/packet/configuration/client/custom_report_details.go similarity index 100% rename from codec/packet/configuration/client/custom_report_details.go rename to pkg/protocol/packet/configuration/client/custom_report_details.go diff --git a/codec/packet/configuration/client/disconnect.go b/pkg/protocol/packet/configuration/client/disconnect.go similarity index 100% rename from codec/packet/configuration/client/disconnect.go rename to pkg/protocol/packet/configuration/client/disconnect.go diff --git a/codec/packet/configuration/client/finish_configuration.go b/pkg/protocol/packet/configuration/client/finish_configuration.go similarity index 100% rename from codec/packet/configuration/client/finish_configuration.go rename to pkg/protocol/packet/configuration/client/finish_configuration.go diff --git a/codec/packet/configuration/client/keep_alive.go b/pkg/protocol/packet/configuration/client/keep_alive.go similarity index 100% rename from codec/packet/configuration/client/keep_alive.go rename to pkg/protocol/packet/configuration/client/keep_alive.go diff --git a/codec/packet/configuration/client/packet.go b/pkg/protocol/packet/configuration/client/packet.go similarity index 100% rename from codec/packet/configuration/client/packet.go rename to pkg/protocol/packet/configuration/client/packet.go diff --git a/codec/packet/configuration/client/ping.go b/pkg/protocol/packet/configuration/client/ping.go similarity index 100% rename from codec/packet/configuration/client/ping.go rename to pkg/protocol/packet/configuration/client/ping.go diff --git a/codec/packet/configuration/client/registry_data.go b/pkg/protocol/packet/configuration/client/registry_data.go similarity index 100% rename from codec/packet/configuration/client/registry_data.go rename to pkg/protocol/packet/configuration/client/registry_data.go diff --git a/codec/packet/configuration/client/reset_chat.go b/pkg/protocol/packet/configuration/client/reset_chat.go similarity index 100% rename from codec/packet/configuration/client/reset_chat.go rename to pkg/protocol/packet/configuration/client/reset_chat.go diff --git a/codec/packet/configuration/client/resource_pack_pop.go b/pkg/protocol/packet/configuration/client/resource_pack_pop.go similarity index 100% rename from codec/packet/configuration/client/resource_pack_pop.go rename to pkg/protocol/packet/configuration/client/resource_pack_pop.go diff --git a/codec/packet/configuration/client/resource_pack_push.go b/pkg/protocol/packet/configuration/client/resource_pack_push.go similarity index 85% rename from codec/packet/configuration/client/resource_pack_push.go rename to pkg/protocol/packet/configuration/client/resource_pack_push.go index 732a7cb..031c926 100644 --- a/codec/packet/configuration/client/resource_pack_push.go +++ b/pkg/protocol/packet/configuration/client/resource_pack_push.go @@ -1,7 +1,7 @@ package client import ( - "git.konjactw.dev/patyhank/minego/codec/packet/game/client" + "git.konjactw.dev/patyhank/minego/pkg/protocol/packet/game/client" "github.com/Tnze/go-mc/data/packetid" ) diff --git a/codec/packet/configuration/client/select_known_packs.go b/pkg/protocol/packet/configuration/client/select_known_packs.go similarity index 100% rename from codec/packet/configuration/client/select_known_packs.go rename to pkg/protocol/packet/configuration/client/select_known_packs.go diff --git a/codec/packet/configuration/client/server_links.go b/pkg/protocol/packet/configuration/client/server_links.go similarity index 100% rename from codec/packet/configuration/client/server_links.go rename to pkg/protocol/packet/configuration/client/server_links.go diff --git a/codec/packet/configuration/client/show_dialog.go b/pkg/protocol/packet/configuration/client/show_dialog.go similarity index 100% rename from codec/packet/configuration/client/show_dialog.go rename to pkg/protocol/packet/configuration/client/show_dialog.go diff --git a/codec/packet/configuration/client/store_cookie.go b/pkg/protocol/packet/configuration/client/store_cookie.go similarity index 100% rename from codec/packet/configuration/client/store_cookie.go rename to pkg/protocol/packet/configuration/client/store_cookie.go diff --git a/codec/packet/configuration/client/transfer.go b/pkg/protocol/packet/configuration/client/transfer.go similarity index 100% rename from codec/packet/configuration/client/transfer.go rename to pkg/protocol/packet/configuration/client/transfer.go diff --git a/codec/packet/configuration/client/update_enabled_features.go b/pkg/protocol/packet/configuration/client/update_enabled_features.go similarity index 100% rename from codec/packet/configuration/client/update_enabled_features.go rename to pkg/protocol/packet/configuration/client/update_enabled_features.go diff --git a/codec/packet/configuration/client/update_tags.go b/pkg/protocol/packet/configuration/client/update_tags.go similarity index 100% rename from codec/packet/configuration/client/update_tags.go rename to pkg/protocol/packet/configuration/client/update_tags.go diff --git a/codec/packet/configuration/server/client_information.go b/pkg/protocol/packet/configuration/server/client_information.go similarity index 100% rename from codec/packet/configuration/server/client_information.go rename to pkg/protocol/packet/configuration/server/client_information.go diff --git a/codec/packet/configuration/server/codecs.go b/pkg/protocol/packet/configuration/server/codecs.go similarity index 100% rename from codec/packet/configuration/server/codecs.go rename to pkg/protocol/packet/configuration/server/codecs.go diff --git a/codec/packet/configuration/server/cookie_response.go b/pkg/protocol/packet/configuration/server/cookie_response.go similarity index 100% rename from codec/packet/configuration/server/cookie_response.go rename to pkg/protocol/packet/configuration/server/cookie_response.go diff --git a/codec/packet/configuration/server/custom_click_action.go b/pkg/protocol/packet/configuration/server/custom_click_action.go similarity index 100% rename from codec/packet/configuration/server/custom_click_action.go rename to pkg/protocol/packet/configuration/server/custom_click_action.go diff --git a/codec/packet/configuration/server/custom_payload.go b/pkg/protocol/packet/configuration/server/custom_payload.go similarity index 100% rename from codec/packet/configuration/server/custom_payload.go rename to pkg/protocol/packet/configuration/server/custom_payload.go diff --git a/codec/packet/configuration/server/finish_configuration.go b/pkg/protocol/packet/configuration/server/finish_configuration.go similarity index 100% rename from codec/packet/configuration/server/finish_configuration.go rename to pkg/protocol/packet/configuration/server/finish_configuration.go diff --git a/codec/packet/configuration/server/keep_alive.go b/pkg/protocol/packet/configuration/server/keep_alive.go similarity index 100% rename from codec/packet/configuration/server/keep_alive.go rename to pkg/protocol/packet/configuration/server/keep_alive.go diff --git a/codec/packet/configuration/server/packet.go b/pkg/protocol/packet/configuration/server/packet.go similarity index 100% rename from codec/packet/configuration/server/packet.go rename to pkg/protocol/packet/configuration/server/packet.go diff --git a/codec/packet/configuration/server/pong.go b/pkg/protocol/packet/configuration/server/pong.go similarity index 100% rename from codec/packet/configuration/server/pong.go rename to pkg/protocol/packet/configuration/server/pong.go diff --git a/codec/packet/configuration/server/resource_pack.go b/pkg/protocol/packet/configuration/server/resource_pack.go similarity index 100% rename from codec/packet/configuration/server/resource_pack.go rename to pkg/protocol/packet/configuration/server/resource_pack.go diff --git a/codec/packet/configuration/server/select_known_packs.go b/pkg/protocol/packet/configuration/server/select_known_packs.go similarity index 100% rename from codec/packet/configuration/server/select_known_packs.go rename to pkg/protocol/packet/configuration/server/select_known_packs.go diff --git a/codec/packet/game/client/add_entity.go b/pkg/protocol/packet/game/client/add_entity.go similarity index 100% rename from codec/packet/game/client/add_entity.go rename to pkg/protocol/packet/game/client/add_entity.go diff --git a/codec/packet/game/client/animate.go b/pkg/protocol/packet/game/client/animate.go similarity index 100% rename from codec/packet/game/client/animate.go rename to pkg/protocol/packet/game/client/animate.go diff --git a/codec/packet/game/client/award_stats.go b/pkg/protocol/packet/game/client/award_stats.go similarity index 100% rename from codec/packet/game/client/award_stats.go rename to pkg/protocol/packet/game/client/award_stats.go diff --git a/codec/packet/game/client/block_changed_ack.go b/pkg/protocol/packet/game/client/block_changed_ack.go similarity index 100% rename from codec/packet/game/client/block_changed_ack.go rename to pkg/protocol/packet/game/client/block_changed_ack.go diff --git a/codec/packet/game/client/block_destruction.go b/pkg/protocol/packet/game/client/block_destruction.go similarity index 100% rename from codec/packet/game/client/block_destruction.go rename to pkg/protocol/packet/game/client/block_destruction.go diff --git a/codec/packet/game/client/block_entity_data.go b/pkg/protocol/packet/game/client/block_entity_data.go similarity index 100% rename from codec/packet/game/client/block_entity_data.go rename to pkg/protocol/packet/game/client/block_entity_data.go diff --git a/codec/packet/game/client/block_event.go b/pkg/protocol/packet/game/client/block_event.go similarity index 100% rename from codec/packet/game/client/block_event.go rename to pkg/protocol/packet/game/client/block_event.go diff --git a/codec/packet/game/client/block_update.go b/pkg/protocol/packet/game/client/block_update.go similarity index 100% rename from codec/packet/game/client/block_update.go rename to pkg/protocol/packet/game/client/block_update.go diff --git a/codec/packet/game/client/boss_event.go b/pkg/protocol/packet/game/client/boss_event.go similarity index 100% rename from codec/packet/game/client/boss_event.go rename to pkg/protocol/packet/game/client/boss_event.go diff --git a/codec/packet/game/client/bundle_delimiter.go b/pkg/protocol/packet/game/client/bundle_delimiter.go similarity index 100% rename from codec/packet/game/client/bundle_delimiter.go rename to pkg/protocol/packet/game/client/bundle_delimiter.go diff --git a/codec/packet/game/client/change_difficulty.go b/pkg/protocol/packet/game/client/change_difficulty.go similarity index 100% rename from codec/packet/game/client/change_difficulty.go rename to pkg/protocol/packet/game/client/change_difficulty.go diff --git a/codec/packet/game/client/chunk_batch_finished.go b/pkg/protocol/packet/game/client/chunk_batch_finished.go similarity index 100% rename from codec/packet/game/client/chunk_batch_finished.go rename to pkg/protocol/packet/game/client/chunk_batch_finished.go diff --git a/codec/packet/game/client/chunk_batch_start.go b/pkg/protocol/packet/game/client/chunk_batch_start.go similarity index 100% rename from codec/packet/game/client/chunk_batch_start.go rename to pkg/protocol/packet/game/client/chunk_batch_start.go diff --git a/codec/packet/game/client/chunk_biomes.go b/pkg/protocol/packet/game/client/chunk_biomes.go similarity index 100% rename from codec/packet/game/client/chunk_biomes.go rename to pkg/protocol/packet/game/client/chunk_biomes.go diff --git a/codec/packet/game/client/clear_dialog.go b/pkg/protocol/packet/game/client/clear_dialog.go similarity index 100% rename from codec/packet/game/client/clear_dialog.go rename to pkg/protocol/packet/game/client/clear_dialog.go diff --git a/codec/packet/game/client/clear_titles.go b/pkg/protocol/packet/game/client/clear_titles.go similarity index 100% rename from codec/packet/game/client/clear_titles.go rename to pkg/protocol/packet/game/client/clear_titles.go diff --git a/codec/packet/game/client/close_container.go b/pkg/protocol/packet/game/client/close_container.go similarity index 100% rename from codec/packet/game/client/close_container.go rename to pkg/protocol/packet/game/client/close_container.go diff --git a/codec/packet/game/client/codecs.go b/pkg/protocol/packet/game/client/codecs.go similarity index 99% rename from codec/packet/game/client/codecs.go rename to pkg/protocol/packet/game/client/codecs.go index 963dcb7..b74a1a3 100644 --- a/codec/packet/game/client/codecs.go +++ b/pkg/protocol/packet/game/client/codecs.go @@ -7157,341 +7157,13 @@ func (c Waypoint) WriteTo(w io.Writer) (n int64, err error) { return n, err } -// StringStringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice. -type StringStringVarIntArray []string - -func (a StringStringVarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.String(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *StringStringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(StringStringVarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - -// Int64VarIntArray a utility type for encoding/decoding packet.Long -> int64[packet.VarInt] slice. -type Int64VarIntArray []int64 - -func (a Int64VarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.Long(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *Int64VarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(Int64VarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.Long)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - -// UuidUUIDUUIDVarIntArray a utility type for encoding/decoding packet.UUID -> uuid.UUID[packet.VarInt] slice. -type UuidUUIDUUIDVarIntArray []uuid.UUID - -func (a UuidUUIDUUIDVarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.UUID(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *UuidUUIDUUIDVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(UuidUUIDUUIDVarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.UUID)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - -// Int32VarIntVarIntArray a utility type for encoding/decoding packet.VarInt -> int32[packet.VarInt] slice. -type Int32VarIntVarIntArray []int32 - -func (a Int32VarIntVarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.VarInt(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(Int32VarIntVarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.VarInt)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - -// Int64VarLongVarIntArray a utility type for encoding/decoding packet.VarLong -> int64[packet.VarInt] slice. -type Int64VarLongVarIntArray []int64 - -func (a Int64VarLongVarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.VarLong(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *Int64VarLongVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(Int64VarLongVarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.VarLong)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - -// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice. -type Int8VarIntArray []int8 - -func (a Int8VarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.Byte(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *Int8VarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(Int8VarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.Byte)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - -// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice. -type StringVarIntArray []string - -func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) { - size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { - return n, err - } - n += nn - for i := 0; i < size; i++ { - nn, err := packet.String(a[i]).WriteTo(w) - n += nn - if err != nil { - return n, err - } - } - return n, nil -} - -func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { - var size packet.VarInt - nn, err := size.ReadFrom(r) - n += nn - if err != nil { - return n, err - } - if size < 0 { - return n, errors.New("array length less than zero") - } - - if cap(*a) >= int(size) { - *a = (*a)[:int(size)] - } else { - *a = make(StringVarIntArray, int(size)) - } - - for i := 0; i < int(size); i++ { - nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r) - n += nn - if err != nil { - return n, err - } - } - - return n, err -} - // StringIdentifierVarIntArray a utility type for encoding/decoding packet.Identifier -> string[packet.VarInt] slice. type StringIdentifierVarIntArray []string func (a StringIdentifierVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -7533,12 +7205,205 @@ func (a *StringIdentifierVarIntArray) ReadFrom(r io.Reader) (n int64, err error) return n, err } +// Int32VarIntVarIntArray a utility type for encoding/decoding packet.VarInt -> int32[packet.VarInt] slice. +type Int32VarIntVarIntArray []int32 + +func (a Int32VarIntVarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.VarInt(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(Int32VarIntVarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.VarInt)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} + +// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice. +type StringVarIntArray []string + +func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.String(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(StringVarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} + +// UuidUUIDUUIDVarIntArray a utility type for encoding/decoding packet.UUID -> uuid.UUID[packet.VarInt] slice. +type UuidUUIDUUIDVarIntArray []uuid.UUID + +func (a UuidUUIDUUIDVarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.UUID(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *UuidUUIDUUIDVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(UuidUUIDUUIDVarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.UUID)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} + +// Int64VarLongVarIntArray a utility type for encoding/decoding packet.VarLong -> int64[packet.VarInt] slice. +type Int64VarLongVarIntArray []int64 + +func (a Int64VarLongVarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.VarLong(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *Int64VarLongVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(Int64VarLongVarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.VarLong)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} + // Int8ByteVarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice. type Int8ByteVarIntArray []int8 func (a Int8ByteVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -7579,3 +7444,147 @@ func (a *Int8ByteVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { return n, err } + +// StringStringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice. +type StringStringVarIntArray []string + +func (a StringStringVarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.String(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *StringStringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(StringStringVarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} + +// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice. +type Int8VarIntArray []int8 + +func (a Int8VarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.Byte(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *Int8VarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(Int8VarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.Byte)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} + +// Int64VarIntArray a utility type for encoding/decoding packet.Long -> int64[packet.VarInt] slice. +type Int64VarIntArray []int64 + +func (a Int64VarIntArray) WriteTo(w io.Writer) (n int64, err error) { + size := len(a) + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { + return n, err + } + n += nn + for i := 0; i < size; i++ { + nn, err := packet.Long(a[i]).WriteTo(w) + n += nn + if err != nil { + return n, err + } + } + return n, nil +} + +func (a *Int64VarIntArray) ReadFrom(r io.Reader) (n int64, err error) { + var size packet.VarInt + nn, err := size.ReadFrom(r) + n += nn + if err != nil { + return n, err + } + if size < 0 { + return n, errors.New("array length less than zero") + } + + if cap(*a) >= int(size) { + *a = (*a)[:int(size)] + } else { + *a = make(Int64VarIntArray, int(size)) + } + + for i := 0; i < int(size); i++ { + nn, err = (*packet.Long)(&(*a)[i]).ReadFrom(r) + n += nn + if err != nil { + return n, err + } + } + + return n, err +} diff --git a/codec/packet/game/client/command_suggestions.go b/pkg/protocol/packet/game/client/command_suggestions.go similarity index 100% rename from codec/packet/game/client/command_suggestions.go rename to pkg/protocol/packet/game/client/command_suggestions.go diff --git a/codec/packet/game/client/commands.go b/pkg/protocol/packet/game/client/commands.go similarity index 100% rename from codec/packet/game/client/commands.go rename to pkg/protocol/packet/game/client/commands.go diff --git a/codec/packet/game/client/container_set_content.go b/pkg/protocol/packet/game/client/container_set_content.go similarity index 73% rename from codec/packet/game/client/container_set_content.go rename to pkg/protocol/packet/game/client/container_set_content.go index 8604bbf..c42160e 100644 --- a/codec/packet/game/client/container_set_content.go +++ b/pkg/protocol/packet/game/client/container_set_content.go @@ -1,6 +1,8 @@ package client -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type SetContainerContent struct { diff --git a/codec/packet/game/client/container_set_data.go b/pkg/protocol/packet/game/client/container_set_data.go similarity index 100% rename from codec/packet/game/client/container_set_data.go rename to pkg/protocol/packet/game/client/container_set_data.go diff --git a/codec/packet/game/client/container_set_slot.go b/pkg/protocol/packet/game/client/container_set_slot.go similarity index 90% rename from codec/packet/game/client/container_set_slot.go rename to pkg/protocol/packet/game/client/container_set_slot.go index 9d7a5f6..fc61420 100644 --- a/codec/packet/game/client/container_set_slot.go +++ b/pkg/protocol/packet/game/client/container_set_slot.go @@ -1,7 +1,7 @@ package client import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/data/packetid" "github.com/Tnze/go-mc/net/packet" ) diff --git a/codec/packet/game/client/cookie_request.go b/pkg/protocol/packet/game/client/cookie_request.go similarity index 100% rename from codec/packet/game/client/cookie_request.go rename to pkg/protocol/packet/game/client/cookie_request.go diff --git a/codec/packet/game/client/cooldown.go b/pkg/protocol/packet/game/client/cooldown.go similarity index 100% rename from codec/packet/game/client/cooldown.go rename to pkg/protocol/packet/game/client/cooldown.go diff --git a/codec/packet/game/client/custom_chat_completions.go b/pkg/protocol/packet/game/client/custom_chat_completions.go similarity index 100% rename from codec/packet/game/client/custom_chat_completions.go rename to pkg/protocol/packet/game/client/custom_chat_completions.go diff --git a/codec/packet/game/client/custom_payload.go b/pkg/protocol/packet/game/client/custom_payload.go similarity index 100% rename from codec/packet/game/client/custom_payload.go rename to pkg/protocol/packet/game/client/custom_payload.go diff --git a/codec/packet/game/client/custom_report_details.go b/pkg/protocol/packet/game/client/custom_report_details.go similarity index 100% rename from codec/packet/game/client/custom_report_details.go rename to pkg/protocol/packet/game/client/custom_report_details.go diff --git a/codec/packet/game/client/damage_event.go b/pkg/protocol/packet/game/client/damage_event.go similarity index 100% rename from codec/packet/game/client/damage_event.go rename to pkg/protocol/packet/game/client/damage_event.go diff --git a/codec/packet/game/client/debug_sample.go b/pkg/protocol/packet/game/client/debug_sample.go similarity index 100% rename from codec/packet/game/client/debug_sample.go rename to pkg/protocol/packet/game/client/debug_sample.go diff --git a/codec/packet/game/client/delete_chat.go b/pkg/protocol/packet/game/client/delete_chat.go similarity index 100% rename from codec/packet/game/client/delete_chat.go rename to pkg/protocol/packet/game/client/delete_chat.go diff --git a/codec/packet/game/client/disconnect.go b/pkg/protocol/packet/game/client/disconnect.go similarity index 100% rename from codec/packet/game/client/disconnect.go rename to pkg/protocol/packet/game/client/disconnect.go diff --git a/codec/packet/game/client/disguised_chat.go b/pkg/protocol/packet/game/client/disguised_chat.go similarity index 100% rename from codec/packet/game/client/disguised_chat.go rename to pkg/protocol/packet/game/client/disguised_chat.go diff --git a/codec/packet/game/client/entity_event.go b/pkg/protocol/packet/game/client/entity_event.go similarity index 100% rename from codec/packet/game/client/entity_event.go rename to pkg/protocol/packet/game/client/entity_event.go diff --git a/codec/packet/game/client/entity_position_sync.go b/pkg/protocol/packet/game/client/entity_position_sync.go similarity index 100% rename from codec/packet/game/client/entity_position_sync.go rename to pkg/protocol/packet/game/client/entity_position_sync.go diff --git a/codec/packet/game/client/explode.go b/pkg/protocol/packet/game/client/explode.go similarity index 100% rename from codec/packet/game/client/explode.go rename to pkg/protocol/packet/game/client/explode.go diff --git a/codec/packet/game/client/forget_level_chunk.go b/pkg/protocol/packet/game/client/forget_level_chunk.go similarity index 100% rename from codec/packet/game/client/forget_level_chunk.go rename to pkg/protocol/packet/game/client/forget_level_chunk.go diff --git a/codec/packet/game/client/game_event.go b/pkg/protocol/packet/game/client/game_event.go similarity index 100% rename from codec/packet/game/client/game_event.go rename to pkg/protocol/packet/game/client/game_event.go diff --git a/codec/packet/game/client/horse_screen_open.go b/pkg/protocol/packet/game/client/horse_screen_open.go similarity index 100% rename from codec/packet/game/client/horse_screen_open.go rename to pkg/protocol/packet/game/client/horse_screen_open.go diff --git a/codec/packet/game/client/hurt_animation.go b/pkg/protocol/packet/game/client/hurt_animation.go similarity index 100% rename from codec/packet/game/client/hurt_animation.go rename to pkg/protocol/packet/game/client/hurt_animation.go diff --git a/codec/packet/game/client/initialize_border.go b/pkg/protocol/packet/game/client/initialize_border.go similarity index 100% rename from codec/packet/game/client/initialize_border.go rename to pkg/protocol/packet/game/client/initialize_border.go diff --git a/codec/packet/game/client/keep_alive.go b/pkg/protocol/packet/game/client/keep_alive.go similarity index 100% rename from codec/packet/game/client/keep_alive.go rename to pkg/protocol/packet/game/client/keep_alive.go diff --git a/codec/packet/game/client/level_chunk_with_light.go b/pkg/protocol/packet/game/client/level_chunk_with_light.go similarity index 100% rename from codec/packet/game/client/level_chunk_with_light.go rename to pkg/protocol/packet/game/client/level_chunk_with_light.go diff --git a/codec/packet/game/client/level_event.go b/pkg/protocol/packet/game/client/level_event.go similarity index 100% rename from codec/packet/game/client/level_event.go rename to pkg/protocol/packet/game/client/level_event.go diff --git a/codec/packet/game/client/level_particles.go b/pkg/protocol/packet/game/client/level_particles.go similarity index 100% rename from codec/packet/game/client/level_particles.go rename to pkg/protocol/packet/game/client/level_particles.go diff --git a/codec/packet/game/client/login.go b/pkg/protocol/packet/game/client/login.go similarity index 100% rename from codec/packet/game/client/login.go rename to pkg/protocol/packet/game/client/login.go diff --git a/codec/packet/game/client/map_data.go b/pkg/protocol/packet/game/client/map_data.go similarity index 100% rename from codec/packet/game/client/map_data.go rename to pkg/protocol/packet/game/client/map_data.go diff --git a/codec/packet/game/client/merchant_offers.go b/pkg/protocol/packet/game/client/merchant_offers.go similarity index 87% rename from codec/packet/game/client/merchant_offers.go rename to pkg/protocol/packet/game/client/merchant_offers.go index 928ee4d..f17febe 100644 --- a/codec/packet/game/client/merchant_offers.go +++ b/pkg/protocol/packet/game/client/merchant_offers.go @@ -2,12 +2,13 @@ package client import ( "git.konjactw.dev/patyhank/minego/codec/slot" + slot2 "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" ) //codec:gen type TradeOption struct { Input slot.TradeSlot - Output slot.Slot + Output slot2.Slot HasSecondInput bool //opt:optional:HasSecondInput SecondInput slot.TradeSlot diff --git a/codec/packet/game/client/move_entity_pos.go b/pkg/protocol/packet/game/client/move_entity_pos.go similarity index 100% rename from codec/packet/game/client/move_entity_pos.go rename to pkg/protocol/packet/game/client/move_entity_pos.go diff --git a/codec/packet/game/client/move_entity_pos_rot.go b/pkg/protocol/packet/game/client/move_entity_pos_rot.go similarity index 100% rename from codec/packet/game/client/move_entity_pos_rot.go rename to pkg/protocol/packet/game/client/move_entity_pos_rot.go diff --git a/codec/packet/game/client/move_entity_rot.go b/pkg/protocol/packet/game/client/move_entity_rot.go similarity index 100% rename from codec/packet/game/client/move_entity_rot.go rename to pkg/protocol/packet/game/client/move_entity_rot.go diff --git a/codec/packet/game/client/move_minecart_along_track.go b/pkg/protocol/packet/game/client/move_minecart_along_track.go similarity index 100% rename from codec/packet/game/client/move_minecart_along_track.go rename to pkg/protocol/packet/game/client/move_minecart_along_track.go diff --git a/codec/packet/game/client/move_vehicle.go b/pkg/protocol/packet/game/client/move_vehicle.go similarity index 100% rename from codec/packet/game/client/move_vehicle.go rename to pkg/protocol/packet/game/client/move_vehicle.go diff --git a/codec/packet/game/client/open_book.go b/pkg/protocol/packet/game/client/open_book.go similarity index 100% rename from codec/packet/game/client/open_book.go rename to pkg/protocol/packet/game/client/open_book.go diff --git a/codec/packet/game/client/open_screen.go b/pkg/protocol/packet/game/client/open_screen.go similarity index 100% rename from codec/packet/game/client/open_screen.go rename to pkg/protocol/packet/game/client/open_screen.go diff --git a/codec/packet/game/client/open_sign_editor.go b/pkg/protocol/packet/game/client/open_sign_editor.go similarity index 100% rename from codec/packet/game/client/open_sign_editor.go rename to pkg/protocol/packet/game/client/open_sign_editor.go diff --git a/codec/packet/game/client/packet.go b/pkg/protocol/packet/game/client/packet.go similarity index 100% rename from codec/packet/game/client/packet.go rename to pkg/protocol/packet/game/client/packet.go diff --git a/codec/packet/game/client/ping.go b/pkg/protocol/packet/game/client/ping.go similarity index 100% rename from codec/packet/game/client/ping.go rename to pkg/protocol/packet/game/client/ping.go diff --git a/codec/packet/game/client/place_ghost_recipe.go b/pkg/protocol/packet/game/client/place_ghost_recipe.go similarity index 100% rename from codec/packet/game/client/place_ghost_recipe.go rename to pkg/protocol/packet/game/client/place_ghost_recipe.go diff --git a/codec/packet/game/client/player_abilities.go b/pkg/protocol/packet/game/client/player_abilities.go similarity index 100% rename from codec/packet/game/client/player_abilities.go rename to pkg/protocol/packet/game/client/player_abilities.go diff --git a/codec/packet/game/client/player_combat_end.go b/pkg/protocol/packet/game/client/player_combat_end.go similarity index 100% rename from codec/packet/game/client/player_combat_end.go rename to pkg/protocol/packet/game/client/player_combat_end.go diff --git a/codec/packet/game/client/player_combat_enter.go b/pkg/protocol/packet/game/client/player_combat_enter.go similarity index 100% rename from codec/packet/game/client/player_combat_enter.go rename to pkg/protocol/packet/game/client/player_combat_enter.go diff --git a/codec/packet/game/client/player_combat_kill.go b/pkg/protocol/packet/game/client/player_combat_kill.go similarity index 100% rename from codec/packet/game/client/player_combat_kill.go rename to pkg/protocol/packet/game/client/player_combat_kill.go diff --git a/codec/packet/game/client/player_info_remove.go b/pkg/protocol/packet/game/client/player_info_remove.go similarity index 100% rename from codec/packet/game/client/player_info_remove.go rename to pkg/protocol/packet/game/client/player_info_remove.go diff --git a/codec/packet/game/client/player_info_update.go b/pkg/protocol/packet/game/client/player_info_update.go similarity index 99% rename from codec/packet/game/client/player_info_update.go rename to pkg/protocol/packet/game/client/player_info_update.go index e0d0688..4f9a428 100644 --- a/codec/packet/game/client/player_info_update.go +++ b/pkg/protocol/packet/game/client/player_info_update.go @@ -1,12 +1,13 @@ package client import ( + "io" + "github.com/Tnze/go-mc/chat" "github.com/Tnze/go-mc/chat/sign" pk "github.com/Tnze/go-mc/net/packet" "github.com/Tnze/go-mc/yggdrasil/user" "github.com/google/uuid" - "io" ) type PlayerInfo interface { diff --git a/codec/packet/game/client/player_look_at.go b/pkg/protocol/packet/game/client/player_look_at.go similarity index 100% rename from codec/packet/game/client/player_look_at.go rename to pkg/protocol/packet/game/client/player_look_at.go diff --git a/codec/packet/game/client/player_position.go b/pkg/protocol/packet/game/client/player_position.go similarity index 100% rename from codec/packet/game/client/player_position.go rename to pkg/protocol/packet/game/client/player_position.go diff --git a/codec/packet/game/client/player_rotation.go b/pkg/protocol/packet/game/client/player_rotation.go similarity index 100% rename from codec/packet/game/client/player_rotation.go rename to pkg/protocol/packet/game/client/player_rotation.go diff --git a/codec/packet/game/client/pong_response.go b/pkg/protocol/packet/game/client/pong_response.go similarity index 100% rename from codec/packet/game/client/pong_response.go rename to pkg/protocol/packet/game/client/pong_response.go diff --git a/codec/packet/game/client/projectile_power.go b/pkg/protocol/packet/game/client/projectile_power.go similarity index 100% rename from codec/packet/game/client/projectile_power.go rename to pkg/protocol/packet/game/client/projectile_power.go diff --git a/codec/packet/game/client/recipe_book_add.go b/pkg/protocol/packet/game/client/recipe_book_add.go similarity index 100% rename from codec/packet/game/client/recipe_book_add.go rename to pkg/protocol/packet/game/client/recipe_book_add.go diff --git a/codec/packet/game/client/recipe_book_remove.go b/pkg/protocol/packet/game/client/recipe_book_remove.go similarity index 100% rename from codec/packet/game/client/recipe_book_remove.go rename to pkg/protocol/packet/game/client/recipe_book_remove.go diff --git a/codec/packet/game/client/recipe_book_settings.go b/pkg/protocol/packet/game/client/recipe_book_settings.go similarity index 100% rename from codec/packet/game/client/recipe_book_settings.go rename to pkg/protocol/packet/game/client/recipe_book_settings.go diff --git a/codec/packet/game/client/remove_entities.go b/pkg/protocol/packet/game/client/remove_entities.go similarity index 100% rename from codec/packet/game/client/remove_entities.go rename to pkg/protocol/packet/game/client/remove_entities.go diff --git a/codec/packet/game/client/remove_mob_effect.go b/pkg/protocol/packet/game/client/remove_mob_effect.go similarity index 100% rename from codec/packet/game/client/remove_mob_effect.go rename to pkg/protocol/packet/game/client/remove_mob_effect.go diff --git a/codec/packet/game/client/reset_score.go b/pkg/protocol/packet/game/client/reset_score.go similarity index 100% rename from codec/packet/game/client/reset_score.go rename to pkg/protocol/packet/game/client/reset_score.go diff --git a/codec/packet/game/client/resource_pack_pop.go b/pkg/protocol/packet/game/client/resource_pack_pop.go similarity index 100% rename from codec/packet/game/client/resource_pack_pop.go rename to pkg/protocol/packet/game/client/resource_pack_pop.go diff --git a/codec/packet/game/client/resource_pack_push.go b/pkg/protocol/packet/game/client/resource_pack_push.go similarity index 100% rename from codec/packet/game/client/resource_pack_push.go rename to pkg/protocol/packet/game/client/resource_pack_push.go diff --git a/codec/packet/game/client/respawn.go b/pkg/protocol/packet/game/client/respawn.go similarity index 100% rename from codec/packet/game/client/respawn.go rename to pkg/protocol/packet/game/client/respawn.go diff --git a/codec/packet/game/client/rotate_head.go b/pkg/protocol/packet/game/client/rotate_head.go similarity index 100% rename from codec/packet/game/client/rotate_head.go rename to pkg/protocol/packet/game/client/rotate_head.go diff --git a/codec/packet/game/client/sections_blocks_update.go b/pkg/protocol/packet/game/client/sections_blocks_update.go similarity index 100% rename from codec/packet/game/client/sections_blocks_update.go rename to pkg/protocol/packet/game/client/sections_blocks_update.go diff --git a/codec/packet/game/client/select_advancements_tab.go b/pkg/protocol/packet/game/client/select_advancements_tab.go similarity index 100% rename from codec/packet/game/client/select_advancements_tab.go rename to pkg/protocol/packet/game/client/select_advancements_tab.go diff --git a/codec/packet/game/client/server_data.go b/pkg/protocol/packet/game/client/server_data.go similarity index 100% rename from codec/packet/game/client/server_data.go rename to pkg/protocol/packet/game/client/server_data.go diff --git a/codec/packet/game/client/server_links.go b/pkg/protocol/packet/game/client/server_links.go similarity index 100% rename from codec/packet/game/client/server_links.go rename to pkg/protocol/packet/game/client/server_links.go diff --git a/codec/packet/game/client/set_action_bar_text.go b/pkg/protocol/packet/game/client/set_action_bar_text.go similarity index 100% rename from codec/packet/game/client/set_action_bar_text.go rename to pkg/protocol/packet/game/client/set_action_bar_text.go diff --git a/codec/packet/game/client/set_border_center.go b/pkg/protocol/packet/game/client/set_border_center.go similarity index 100% rename from codec/packet/game/client/set_border_center.go rename to pkg/protocol/packet/game/client/set_border_center.go diff --git a/codec/packet/game/client/set_border_lerp_size.go b/pkg/protocol/packet/game/client/set_border_lerp_size.go similarity index 100% rename from codec/packet/game/client/set_border_lerp_size.go rename to pkg/protocol/packet/game/client/set_border_lerp_size.go diff --git a/codec/packet/game/client/set_border_size.go b/pkg/protocol/packet/game/client/set_border_size.go similarity index 100% rename from codec/packet/game/client/set_border_size.go rename to pkg/protocol/packet/game/client/set_border_size.go diff --git a/codec/packet/game/client/set_border_warning_delay.go b/pkg/protocol/packet/game/client/set_border_warning_delay.go similarity index 100% rename from codec/packet/game/client/set_border_warning_delay.go rename to pkg/protocol/packet/game/client/set_border_warning_delay.go diff --git a/codec/packet/game/client/set_border_warning_distance.go b/pkg/protocol/packet/game/client/set_border_warning_distance.go similarity index 100% rename from codec/packet/game/client/set_border_warning_distance.go rename to pkg/protocol/packet/game/client/set_border_warning_distance.go diff --git a/codec/packet/game/client/set_camera.go b/pkg/protocol/packet/game/client/set_camera.go similarity index 100% rename from codec/packet/game/client/set_camera.go rename to pkg/protocol/packet/game/client/set_camera.go diff --git a/codec/packet/game/client/set_chunk_cache_center.go b/pkg/protocol/packet/game/client/set_chunk_cache_center.go similarity index 100% rename from codec/packet/game/client/set_chunk_cache_center.go rename to pkg/protocol/packet/game/client/set_chunk_cache_center.go diff --git a/codec/packet/game/client/set_chunk_cache_radius.go b/pkg/protocol/packet/game/client/set_chunk_cache_radius.go similarity index 100% rename from codec/packet/game/client/set_chunk_cache_radius.go rename to pkg/protocol/packet/game/client/set_chunk_cache_radius.go diff --git a/codec/packet/game/client/set_cursor_item.go b/pkg/protocol/packet/game/client/set_cursor_item.go similarity index 55% rename from codec/packet/game/client/set_cursor_item.go rename to pkg/protocol/packet/game/client/set_cursor_item.go index 2dcd3fd..3fc67d9 100644 --- a/codec/packet/game/client/set_cursor_item.go +++ b/pkg/protocol/packet/game/client/set_cursor_item.go @@ -1,6 +1,8 @@ package client -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type SetCursorItem struct { diff --git a/codec/packet/game/client/set_default_spawn_position.go b/pkg/protocol/packet/game/client/set_default_spawn_position.go similarity index 100% rename from codec/packet/game/client/set_default_spawn_position.go rename to pkg/protocol/packet/game/client/set_default_spawn_position.go diff --git a/codec/packet/game/client/set_display_objective.go b/pkg/protocol/packet/game/client/set_display_objective.go similarity index 100% rename from codec/packet/game/client/set_display_objective.go rename to pkg/protocol/packet/game/client/set_display_objective.go diff --git a/codec/packet/game/client/set_entity_data.go b/pkg/protocol/packet/game/client/set_entity_data.go similarity index 100% rename from codec/packet/game/client/set_entity_data.go rename to pkg/protocol/packet/game/client/set_entity_data.go diff --git a/codec/packet/game/client/set_entity_link.go b/pkg/protocol/packet/game/client/set_entity_link.go similarity index 100% rename from codec/packet/game/client/set_entity_link.go rename to pkg/protocol/packet/game/client/set_entity_link.go diff --git a/codec/packet/game/client/set_entity_motion.go b/pkg/protocol/packet/game/client/set_entity_motion.go similarity index 100% rename from codec/packet/game/client/set_entity_motion.go rename to pkg/protocol/packet/game/client/set_entity_motion.go diff --git a/codec/packet/game/client/set_equipment.go b/pkg/protocol/packet/game/client/set_equipment.go similarity index 94% rename from codec/packet/game/client/set_equipment.go rename to pkg/protocol/packet/game/client/set_equipment.go index 68d0cdc..55b22d6 100644 --- a/codec/packet/game/client/set_equipment.go +++ b/pkg/protocol/packet/game/client/set_equipment.go @@ -1,9 +1,10 @@ package client import ( - "git.konjactw.dev/patyhank/minego/codec/slot" - pk "github.com/Tnze/go-mc/net/packet" "io" + + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" + pk "github.com/Tnze/go-mc/net/packet" ) type EquipmentData struct { diff --git a/codec/packet/game/client/set_experience.go b/pkg/protocol/packet/game/client/set_experience.go similarity index 100% rename from codec/packet/game/client/set_experience.go rename to pkg/protocol/packet/game/client/set_experience.go diff --git a/codec/packet/game/client/set_health.go b/pkg/protocol/packet/game/client/set_health.go similarity index 100% rename from codec/packet/game/client/set_health.go rename to pkg/protocol/packet/game/client/set_health.go diff --git a/codec/packet/game/client/set_held_slot.go b/pkg/protocol/packet/game/client/set_held_slot.go similarity index 100% rename from codec/packet/game/client/set_held_slot.go rename to pkg/protocol/packet/game/client/set_held_slot.go diff --git a/codec/packet/game/client/set_objective.go b/pkg/protocol/packet/game/client/set_objective.go similarity index 100% rename from codec/packet/game/client/set_objective.go rename to pkg/protocol/packet/game/client/set_objective.go diff --git a/codec/packet/game/client/set_passengers.go b/pkg/protocol/packet/game/client/set_passengers.go similarity index 100% rename from codec/packet/game/client/set_passengers.go rename to pkg/protocol/packet/game/client/set_passengers.go diff --git a/codec/packet/game/client/set_player_inventory.go b/pkg/protocol/packet/game/client/set_player_inventory.go similarity index 61% rename from codec/packet/game/client/set_player_inventory.go rename to pkg/protocol/packet/game/client/set_player_inventory.go index 6c16797..5abfc36 100644 --- a/codec/packet/game/client/set_player_inventory.go +++ b/pkg/protocol/packet/game/client/set_player_inventory.go @@ -1,6 +1,8 @@ package client -import "git.konjactw.dev/patyhank/minego/codec/slot" +import ( + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" +) //codec:gen type SetPlayerInventory struct { diff --git a/codec/packet/game/client/set_player_team.go b/pkg/protocol/packet/game/client/set_player_team.go similarity index 100% rename from codec/packet/game/client/set_player_team.go rename to pkg/protocol/packet/game/client/set_player_team.go diff --git a/codec/packet/game/client/set_score.go b/pkg/protocol/packet/game/client/set_score.go similarity index 100% rename from codec/packet/game/client/set_score.go rename to pkg/protocol/packet/game/client/set_score.go diff --git a/codec/packet/game/client/set_simulation_distance.go b/pkg/protocol/packet/game/client/set_simulation_distance.go similarity index 100% rename from codec/packet/game/client/set_simulation_distance.go rename to pkg/protocol/packet/game/client/set_simulation_distance.go diff --git a/codec/packet/game/client/set_subtitle_text.go b/pkg/protocol/packet/game/client/set_subtitle_text.go similarity index 100% rename from codec/packet/game/client/set_subtitle_text.go rename to pkg/protocol/packet/game/client/set_subtitle_text.go diff --git a/codec/packet/game/client/set_time.go b/pkg/protocol/packet/game/client/set_time.go similarity index 100% rename from codec/packet/game/client/set_time.go rename to pkg/protocol/packet/game/client/set_time.go diff --git a/codec/packet/game/client/set_title_text.go b/pkg/protocol/packet/game/client/set_title_text.go similarity index 100% rename from codec/packet/game/client/set_title_text.go rename to pkg/protocol/packet/game/client/set_title_text.go diff --git a/codec/packet/game/client/set_titles_animation.go b/pkg/protocol/packet/game/client/set_titles_animation.go similarity index 100% rename from codec/packet/game/client/set_titles_animation.go rename to pkg/protocol/packet/game/client/set_titles_animation.go diff --git a/codec/packet/game/client/show_dialog.go b/pkg/protocol/packet/game/client/show_dialog.go similarity index 100% rename from codec/packet/game/client/show_dialog.go rename to pkg/protocol/packet/game/client/show_dialog.go diff --git a/codec/packet/game/client/sound.go b/pkg/protocol/packet/game/client/sound.go similarity index 100% rename from codec/packet/game/client/sound.go rename to pkg/protocol/packet/game/client/sound.go diff --git a/codec/packet/game/client/sound_entity.go b/pkg/protocol/packet/game/client/sound_entity.go similarity index 100% rename from codec/packet/game/client/sound_entity.go rename to pkg/protocol/packet/game/client/sound_entity.go diff --git a/codec/packet/game/client/start_configuration.go b/pkg/protocol/packet/game/client/start_configuration.go similarity index 100% rename from codec/packet/game/client/start_configuration.go rename to pkg/protocol/packet/game/client/start_configuration.go diff --git a/codec/packet/game/client/stop_sound.go b/pkg/protocol/packet/game/client/stop_sound.go similarity index 99% rename from codec/packet/game/client/stop_sound.go rename to pkg/protocol/packet/game/client/stop_sound.go index b553f64..1085c28 100644 --- a/codec/packet/game/client/stop_sound.go +++ b/pkg/protocol/packet/game/client/stop_sound.go @@ -1,8 +1,9 @@ package client import ( - pk "github.com/Tnze/go-mc/net/packet" "io" + + pk "github.com/Tnze/go-mc/net/packet" ) type StopSound struct { diff --git a/codec/packet/game/client/store_cookie.go b/pkg/protocol/packet/game/client/store_cookie.go similarity index 100% rename from codec/packet/game/client/store_cookie.go rename to pkg/protocol/packet/game/client/store_cookie.go diff --git a/codec/packet/game/client/system_chat.go b/pkg/protocol/packet/game/client/system_chat.go similarity index 100% rename from codec/packet/game/client/system_chat.go rename to pkg/protocol/packet/game/client/system_chat.go diff --git a/codec/packet/game/client/tab_list.go b/pkg/protocol/packet/game/client/tab_list.go similarity index 100% rename from codec/packet/game/client/tab_list.go rename to pkg/protocol/packet/game/client/tab_list.go diff --git a/codec/packet/game/client/tag_query.go b/pkg/protocol/packet/game/client/tag_query.go similarity index 100% rename from codec/packet/game/client/tag_query.go rename to pkg/protocol/packet/game/client/tag_query.go diff --git a/codec/packet/game/client/take_item_entity.go b/pkg/protocol/packet/game/client/take_item_entity.go similarity index 100% rename from codec/packet/game/client/take_item_entity.go rename to pkg/protocol/packet/game/client/take_item_entity.go diff --git a/codec/packet/game/client/teleport_entity.go b/pkg/protocol/packet/game/client/teleport_entity.go similarity index 100% rename from codec/packet/game/client/teleport_entity.go rename to pkg/protocol/packet/game/client/teleport_entity.go diff --git a/codec/packet/game/client/test_instance_block_status.go b/pkg/protocol/packet/game/client/test_instance_block_status.go similarity index 100% rename from codec/packet/game/client/test_instance_block_status.go rename to pkg/protocol/packet/game/client/test_instance_block_status.go diff --git a/codec/packet/game/client/ticking_state.go b/pkg/protocol/packet/game/client/ticking_state.go similarity index 100% rename from codec/packet/game/client/ticking_state.go rename to pkg/protocol/packet/game/client/ticking_state.go diff --git a/codec/packet/game/client/ticking_step.go b/pkg/protocol/packet/game/client/ticking_step.go similarity index 100% rename from codec/packet/game/client/ticking_step.go rename to pkg/protocol/packet/game/client/ticking_step.go diff --git a/codec/packet/game/client/transfer.go b/pkg/protocol/packet/game/client/transfer.go similarity index 100% rename from codec/packet/game/client/transfer.go rename to pkg/protocol/packet/game/client/transfer.go diff --git a/codec/packet/game/client/update_advancements.go b/pkg/protocol/packet/game/client/update_advancements.go similarity index 95% rename from codec/packet/game/client/update_advancements.go rename to pkg/protocol/packet/game/client/update_advancements.go index a07dbde..75796dd 100644 --- a/codec/packet/game/client/update_advancements.go +++ b/pkg/protocol/packet/game/client/update_advancements.go @@ -1,7 +1,7 @@ package client import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/chat" ) diff --git a/codec/packet/game/client/update_attributes.go b/pkg/protocol/packet/game/client/update_attributes.go similarity index 100% rename from codec/packet/game/client/update_attributes.go rename to pkg/protocol/packet/game/client/update_attributes.go diff --git a/codec/packet/game/client/update_light.go b/pkg/protocol/packet/game/client/update_light.go similarity index 100% rename from codec/packet/game/client/update_light.go rename to pkg/protocol/packet/game/client/update_light.go diff --git a/codec/packet/game/client/update_mob_effect.go b/pkg/protocol/packet/game/client/update_mob_effect.go similarity index 100% rename from codec/packet/game/client/update_mob_effect.go rename to pkg/protocol/packet/game/client/update_mob_effect.go diff --git a/codec/packet/game/client/update_recipes.go b/pkg/protocol/packet/game/client/update_recipes.go similarity index 100% rename from codec/packet/game/client/update_recipes.go rename to pkg/protocol/packet/game/client/update_recipes.go diff --git a/codec/packet/game/client/update_tags.go b/pkg/protocol/packet/game/client/update_tags.go similarity index 100% rename from codec/packet/game/client/update_tags.go rename to pkg/protocol/packet/game/client/update_tags.go diff --git a/codec/packet/game/client/waypoint.go b/pkg/protocol/packet/game/client/waypoint.go similarity index 100% rename from codec/packet/game/client/waypoint.go rename to pkg/protocol/packet/game/client/waypoint.go diff --git a/codec/packet/game/server/accept_teleportation.go b/pkg/protocol/packet/game/server/accept_teleportation.go similarity index 100% rename from codec/packet/game/server/accept_teleportation.go rename to pkg/protocol/packet/game/server/accept_teleportation.go diff --git a/codec/packet/game/server/block_entity_tag_query.go b/pkg/protocol/packet/game/server/block_entity_tag_query.go similarity index 100% rename from codec/packet/game/server/block_entity_tag_query.go rename to pkg/protocol/packet/game/server/block_entity_tag_query.go diff --git a/codec/packet/game/server/bundle_item_selected.go b/pkg/protocol/packet/game/server/bundle_item_selected.go similarity index 100% rename from codec/packet/game/server/bundle_item_selected.go rename to pkg/protocol/packet/game/server/bundle_item_selected.go diff --git a/codec/packet/game/server/change_difficulty.go b/pkg/protocol/packet/game/server/change_difficulty.go similarity index 100% rename from codec/packet/game/server/change_difficulty.go rename to pkg/protocol/packet/game/server/change_difficulty.go diff --git a/codec/packet/game/server/change_game_mode.go b/pkg/protocol/packet/game/server/change_game_mode.go similarity index 100% rename from codec/packet/game/server/change_game_mode.go rename to pkg/protocol/packet/game/server/change_game_mode.go diff --git a/codec/packet/game/server/chat.go b/pkg/protocol/packet/game/server/chat.go similarity index 100% rename from codec/packet/game/server/chat.go rename to pkg/protocol/packet/game/server/chat.go diff --git a/codec/packet/game/server/chat_ack.go b/pkg/protocol/packet/game/server/chat_ack.go similarity index 100% rename from codec/packet/game/server/chat_ack.go rename to pkg/protocol/packet/game/server/chat_ack.go diff --git a/codec/packet/game/server/chat_command.go b/pkg/protocol/packet/game/server/chat_command.go similarity index 100% rename from codec/packet/game/server/chat_command.go rename to pkg/protocol/packet/game/server/chat_command.go diff --git a/codec/packet/game/server/chat_command_signed.go b/pkg/protocol/packet/game/server/chat_command_signed.go similarity index 100% rename from codec/packet/game/server/chat_command_signed.go rename to pkg/protocol/packet/game/server/chat_command_signed.go diff --git a/codec/packet/game/server/chat_session_update.go b/pkg/protocol/packet/game/server/chat_session_update.go similarity index 100% rename from codec/packet/game/server/chat_session_update.go rename to pkg/protocol/packet/game/server/chat_session_update.go diff --git a/codec/packet/game/server/chunk_batch_received.go b/pkg/protocol/packet/game/server/chunk_batch_received.go similarity index 100% rename from codec/packet/game/server/chunk_batch_received.go rename to pkg/protocol/packet/game/server/chunk_batch_received.go diff --git a/codec/packet/game/server/client_command.go b/pkg/protocol/packet/game/server/client_command.go similarity index 100% rename from codec/packet/game/server/client_command.go rename to pkg/protocol/packet/game/server/client_command.go diff --git a/codec/packet/game/server/client_information.go b/pkg/protocol/packet/game/server/client_information.go similarity index 100% rename from codec/packet/game/server/client_information.go rename to pkg/protocol/packet/game/server/client_information.go diff --git a/codec/packet/game/server/client_tick_end.go b/pkg/protocol/packet/game/server/client_tick_end.go similarity index 100% rename from codec/packet/game/server/client_tick_end.go rename to pkg/protocol/packet/game/server/client_tick_end.go diff --git a/codec/packet/game/server/codecs.go b/pkg/protocol/packet/game/server/codecs.go similarity index 99% rename from codec/packet/game/server/codecs.go rename to pkg/protocol/packet/game/server/codecs.go index 60a0be9..4b072fd 100644 --- a/codec/packet/game/server/codecs.go +++ b/pkg/protocol/packet/game/server/codecs.go @@ -2733,7 +2733,8 @@ type Int8ByteVarIntArray []int8 func (a Int8ByteVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn @@ -2780,7 +2781,8 @@ type StringVarIntArray []string func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn diff --git a/codec/packet/game/server/command_suggestion.go b/pkg/protocol/packet/game/server/command_suggestion.go similarity index 100% rename from codec/packet/game/server/command_suggestion.go rename to pkg/protocol/packet/game/server/command_suggestion.go diff --git a/codec/packet/game/server/configuration_acknowledged.go b/pkg/protocol/packet/game/server/configuration_acknowledged.go similarity index 100% rename from codec/packet/game/server/configuration_acknowledged.go rename to pkg/protocol/packet/game/server/configuration_acknowledged.go diff --git a/codec/packet/game/server/container_button_click.go b/pkg/protocol/packet/game/server/container_button_click.go similarity index 100% rename from codec/packet/game/server/container_button_click.go rename to pkg/protocol/packet/game/server/container_button_click.go diff --git a/codec/packet/game/server/container_click.go b/pkg/protocol/packet/game/server/container_click.go similarity index 100% rename from codec/packet/game/server/container_click.go rename to pkg/protocol/packet/game/server/container_click.go diff --git a/codec/packet/game/server/container_close.go b/pkg/protocol/packet/game/server/container_close.go similarity index 100% rename from codec/packet/game/server/container_close.go rename to pkg/protocol/packet/game/server/container_close.go diff --git a/codec/packet/game/server/container_slot_state_changed.go b/pkg/protocol/packet/game/server/container_slot_state_changed.go similarity index 100% rename from codec/packet/game/server/container_slot_state_changed.go rename to pkg/protocol/packet/game/server/container_slot_state_changed.go diff --git a/codec/packet/game/server/cookie_response.go b/pkg/protocol/packet/game/server/cookie_response.go similarity index 100% rename from codec/packet/game/server/cookie_response.go rename to pkg/protocol/packet/game/server/cookie_response.go diff --git a/codec/packet/game/server/custom_click_action.go b/pkg/protocol/packet/game/server/custom_click_action.go similarity index 100% rename from codec/packet/game/server/custom_click_action.go rename to pkg/protocol/packet/game/server/custom_click_action.go diff --git a/codec/packet/game/server/custom_payload.go b/pkg/protocol/packet/game/server/custom_payload.go similarity index 100% rename from codec/packet/game/server/custom_payload.go rename to pkg/protocol/packet/game/server/custom_payload.go diff --git a/codec/packet/game/server/debug_sample_subscription.go b/pkg/protocol/packet/game/server/debug_sample_subscription.go similarity index 100% rename from codec/packet/game/server/debug_sample_subscription.go rename to pkg/protocol/packet/game/server/debug_sample_subscription.go diff --git a/codec/packet/game/server/edit_book.go b/pkg/protocol/packet/game/server/edit_book.go similarity index 100% rename from codec/packet/game/server/edit_book.go rename to pkg/protocol/packet/game/server/edit_book.go diff --git a/codec/packet/game/server/entity_tag_query.go b/pkg/protocol/packet/game/server/entity_tag_query.go similarity index 100% rename from codec/packet/game/server/entity_tag_query.go rename to pkg/protocol/packet/game/server/entity_tag_query.go diff --git a/codec/packet/game/server/interact.go b/pkg/protocol/packet/game/server/interact.go similarity index 100% rename from codec/packet/game/server/interact.go rename to pkg/protocol/packet/game/server/interact.go diff --git a/codec/packet/game/server/jigsaw_generate.go b/pkg/protocol/packet/game/server/jigsaw_generate.go similarity index 100% rename from codec/packet/game/server/jigsaw_generate.go rename to pkg/protocol/packet/game/server/jigsaw_generate.go diff --git a/codec/packet/game/server/keep_alive.go b/pkg/protocol/packet/game/server/keep_alive.go similarity index 100% rename from codec/packet/game/server/keep_alive.go rename to pkg/protocol/packet/game/server/keep_alive.go diff --git a/codec/packet/game/server/lock_difficulty.go b/pkg/protocol/packet/game/server/lock_difficulty.go similarity index 100% rename from codec/packet/game/server/lock_difficulty.go rename to pkg/protocol/packet/game/server/lock_difficulty.go diff --git a/codec/packet/game/server/move_player_pos.go b/pkg/protocol/packet/game/server/move_player_pos.go similarity index 100% rename from codec/packet/game/server/move_player_pos.go rename to pkg/protocol/packet/game/server/move_player_pos.go diff --git a/codec/packet/game/server/move_player_pos_rot.go b/pkg/protocol/packet/game/server/move_player_pos_rot.go similarity index 100% rename from codec/packet/game/server/move_player_pos_rot.go rename to pkg/protocol/packet/game/server/move_player_pos_rot.go diff --git a/codec/packet/game/server/move_player_rot.go b/pkg/protocol/packet/game/server/move_player_rot.go similarity index 100% rename from codec/packet/game/server/move_player_rot.go rename to pkg/protocol/packet/game/server/move_player_rot.go diff --git a/codec/packet/game/server/move_player_status_only.go b/pkg/protocol/packet/game/server/move_player_status_only.go similarity index 100% rename from codec/packet/game/server/move_player_status_only.go rename to pkg/protocol/packet/game/server/move_player_status_only.go diff --git a/codec/packet/game/server/move_vehicle.go b/pkg/protocol/packet/game/server/move_vehicle.go similarity index 100% rename from codec/packet/game/server/move_vehicle.go rename to pkg/protocol/packet/game/server/move_vehicle.go diff --git a/codec/packet/game/server/packet.go b/pkg/protocol/packet/game/server/packet.go similarity index 100% rename from codec/packet/game/server/packet.go rename to pkg/protocol/packet/game/server/packet.go diff --git a/codec/packet/game/server/paddle_boat.go b/pkg/protocol/packet/game/server/paddle_boat.go similarity index 100% rename from codec/packet/game/server/paddle_boat.go rename to pkg/protocol/packet/game/server/paddle_boat.go diff --git a/codec/packet/game/server/pick_item_from_block.go b/pkg/protocol/packet/game/server/pick_item_from_block.go similarity index 100% rename from codec/packet/game/server/pick_item_from_block.go rename to pkg/protocol/packet/game/server/pick_item_from_block.go diff --git a/codec/packet/game/server/pick_item_from_entity.go b/pkg/protocol/packet/game/server/pick_item_from_entity.go similarity index 100% rename from codec/packet/game/server/pick_item_from_entity.go rename to pkg/protocol/packet/game/server/pick_item_from_entity.go diff --git a/codec/packet/game/server/ping_request.go b/pkg/protocol/packet/game/server/ping_request.go similarity index 100% rename from codec/packet/game/server/ping_request.go rename to pkg/protocol/packet/game/server/ping_request.go diff --git a/codec/packet/game/server/place_recipe.go b/pkg/protocol/packet/game/server/place_recipe.go similarity index 100% rename from codec/packet/game/server/place_recipe.go rename to pkg/protocol/packet/game/server/place_recipe.go diff --git a/codec/packet/game/server/player_abilities.go b/pkg/protocol/packet/game/server/player_abilities.go similarity index 100% rename from codec/packet/game/server/player_abilities.go rename to pkg/protocol/packet/game/server/player_abilities.go diff --git a/codec/packet/game/server/player_action.go b/pkg/protocol/packet/game/server/player_action.go similarity index 100% rename from codec/packet/game/server/player_action.go rename to pkg/protocol/packet/game/server/player_action.go diff --git a/codec/packet/game/server/player_command.go b/pkg/protocol/packet/game/server/player_command.go similarity index 100% rename from codec/packet/game/server/player_command.go rename to pkg/protocol/packet/game/server/player_command.go diff --git a/codec/packet/game/server/player_input.go b/pkg/protocol/packet/game/server/player_input.go similarity index 100% rename from codec/packet/game/server/player_input.go rename to pkg/protocol/packet/game/server/player_input.go diff --git a/codec/packet/game/server/player_loaded.go b/pkg/protocol/packet/game/server/player_loaded.go similarity index 100% rename from codec/packet/game/server/player_loaded.go rename to pkg/protocol/packet/game/server/player_loaded.go diff --git a/codec/packet/game/server/pong.go b/pkg/protocol/packet/game/server/pong.go similarity index 100% rename from codec/packet/game/server/pong.go rename to pkg/protocol/packet/game/server/pong.go diff --git a/codec/packet/game/server/recipe_book_change_settings.go b/pkg/protocol/packet/game/server/recipe_book_change_settings.go similarity index 100% rename from codec/packet/game/server/recipe_book_change_settings.go rename to pkg/protocol/packet/game/server/recipe_book_change_settings.go diff --git a/codec/packet/game/server/recipe_book_seen_recipe.go b/pkg/protocol/packet/game/server/recipe_book_seen_recipe.go similarity index 100% rename from codec/packet/game/server/recipe_book_seen_recipe.go rename to pkg/protocol/packet/game/server/recipe_book_seen_recipe.go diff --git a/codec/packet/game/server/rename_item.go b/pkg/protocol/packet/game/server/rename_item.go similarity index 100% rename from codec/packet/game/server/rename_item.go rename to pkg/protocol/packet/game/server/rename_item.go diff --git a/codec/packet/game/server/resource_pack.go b/pkg/protocol/packet/game/server/resource_pack.go similarity index 100% rename from codec/packet/game/server/resource_pack.go rename to pkg/protocol/packet/game/server/resource_pack.go diff --git a/codec/packet/game/server/seen_advancements.go b/pkg/protocol/packet/game/server/seen_advancements.go similarity index 100% rename from codec/packet/game/server/seen_advancements.go rename to pkg/protocol/packet/game/server/seen_advancements.go diff --git a/codec/packet/game/server/select_trade.go b/pkg/protocol/packet/game/server/select_trade.go similarity index 100% rename from codec/packet/game/server/select_trade.go rename to pkg/protocol/packet/game/server/select_trade.go diff --git a/codec/packet/game/server/set_beacon.go b/pkg/protocol/packet/game/server/set_beacon.go similarity index 100% rename from codec/packet/game/server/set_beacon.go rename to pkg/protocol/packet/game/server/set_beacon.go diff --git a/codec/packet/game/server/set_carried_item.go b/pkg/protocol/packet/game/server/set_carried_item.go similarity index 100% rename from codec/packet/game/server/set_carried_item.go rename to pkg/protocol/packet/game/server/set_carried_item.go diff --git a/codec/packet/game/server/set_command_block.go b/pkg/protocol/packet/game/server/set_command_block.go similarity index 100% rename from codec/packet/game/server/set_command_block.go rename to pkg/protocol/packet/game/server/set_command_block.go diff --git a/codec/packet/game/server/set_command_minecart.go b/pkg/protocol/packet/game/server/set_command_minecart.go similarity index 100% rename from codec/packet/game/server/set_command_minecart.go rename to pkg/protocol/packet/game/server/set_command_minecart.go diff --git a/codec/packet/game/server/set_creative_mode_slot.go b/pkg/protocol/packet/game/server/set_creative_mode_slot.go similarity index 88% rename from codec/packet/game/server/set_creative_mode_slot.go rename to pkg/protocol/packet/game/server/set_creative_mode_slot.go index b5ef6a5..1142461 100644 --- a/codec/packet/game/server/set_creative_mode_slot.go +++ b/pkg/protocol/packet/game/server/set_creative_mode_slot.go @@ -1,7 +1,7 @@ package server import ( - "git.konjactw.dev/patyhank/minego/codec/slot" + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" "github.com/Tnze/go-mc/data/packetid" ) diff --git a/codec/packet/game/server/set_jigsaw_block.go b/pkg/protocol/packet/game/server/set_jigsaw_block.go similarity index 100% rename from codec/packet/game/server/set_jigsaw_block.go rename to pkg/protocol/packet/game/server/set_jigsaw_block.go diff --git a/codec/packet/game/server/set_structure_block.go b/pkg/protocol/packet/game/server/set_structure_block.go similarity index 100% rename from codec/packet/game/server/set_structure_block.go rename to pkg/protocol/packet/game/server/set_structure_block.go diff --git a/codec/packet/game/server/set_test_block.go b/pkg/protocol/packet/game/server/set_test_block.go similarity index 100% rename from codec/packet/game/server/set_test_block.go rename to pkg/protocol/packet/game/server/set_test_block.go diff --git a/codec/packet/game/server/sign_update.go b/pkg/protocol/packet/game/server/sign_update.go similarity index 100% rename from codec/packet/game/server/sign_update.go rename to pkg/protocol/packet/game/server/sign_update.go diff --git a/codec/packet/game/server/swing.go b/pkg/protocol/packet/game/server/swing.go similarity index 100% rename from codec/packet/game/server/swing.go rename to pkg/protocol/packet/game/server/swing.go diff --git a/codec/packet/game/server/teleport_to_entity.go b/pkg/protocol/packet/game/server/teleport_to_entity.go similarity index 100% rename from codec/packet/game/server/teleport_to_entity.go rename to pkg/protocol/packet/game/server/teleport_to_entity.go diff --git a/codec/packet/game/server/test_instance_block_action.go b/pkg/protocol/packet/game/server/test_instance_block_action.go similarity index 100% rename from codec/packet/game/server/test_instance_block_action.go rename to pkg/protocol/packet/game/server/test_instance_block_action.go diff --git a/codec/packet/game/server/use_item.go b/pkg/protocol/packet/game/server/use_item.go similarity index 100% rename from codec/packet/game/server/use_item.go rename to pkg/protocol/packet/game/server/use_item.go diff --git a/codec/packet/game/server/use_item_on.go b/pkg/protocol/packet/game/server/use_item_on.go similarity index 100% rename from codec/packet/game/server/use_item_on.go rename to pkg/protocol/packet/game/server/use_item_on.go diff --git a/codec/packet/login/client/codecs.go b/pkg/protocol/packet/login/client/codecs.go similarity index 100% rename from codec/packet/login/client/codecs.go rename to pkg/protocol/packet/login/client/codecs.go diff --git a/codec/packet/login/client/cookie_request.go b/pkg/protocol/packet/login/client/cookie_request.go similarity index 100% rename from codec/packet/login/client/cookie_request.go rename to pkg/protocol/packet/login/client/cookie_request.go diff --git a/codec/packet/login/client/custom_query.go b/pkg/protocol/packet/login/client/custom_query.go similarity index 100% rename from codec/packet/login/client/custom_query.go rename to pkg/protocol/packet/login/client/custom_query.go diff --git a/codec/packet/login/client/hello.go b/pkg/protocol/packet/login/client/hello.go similarity index 100% rename from codec/packet/login/client/hello.go rename to pkg/protocol/packet/login/client/hello.go diff --git a/codec/packet/login/client/login_compression.go b/pkg/protocol/packet/login/client/login_compression.go similarity index 100% rename from codec/packet/login/client/login_compression.go rename to pkg/protocol/packet/login/client/login_compression.go diff --git a/codec/packet/login/client/login_disconnect.go b/pkg/protocol/packet/login/client/login_disconnect.go similarity index 100% rename from codec/packet/login/client/login_disconnect.go rename to pkg/protocol/packet/login/client/login_disconnect.go diff --git a/codec/packet/login/client/login_finished.go b/pkg/protocol/packet/login/client/login_finished.go similarity index 100% rename from codec/packet/login/client/login_finished.go rename to pkg/protocol/packet/login/client/login_finished.go diff --git a/codec/packet/login/client/packet.go b/pkg/protocol/packet/login/client/packet.go similarity index 100% rename from codec/packet/login/client/packet.go rename to pkg/protocol/packet/login/client/packet.go diff --git a/codec/packet/login/server/codecs.go b/pkg/protocol/packet/login/server/codecs.go similarity index 100% rename from codec/packet/login/server/codecs.go rename to pkg/protocol/packet/login/server/codecs.go diff --git a/codec/packet/login/server/cookie_response.go b/pkg/protocol/packet/login/server/cookie_response.go similarity index 100% rename from codec/packet/login/server/cookie_response.go rename to pkg/protocol/packet/login/server/cookie_response.go diff --git a/codec/packet/login/server/custom_query_answer.go b/pkg/protocol/packet/login/server/custom_query_answer.go similarity index 100% rename from codec/packet/login/server/custom_query_answer.go rename to pkg/protocol/packet/login/server/custom_query_answer.go diff --git a/codec/packet/login/server/hello.go b/pkg/protocol/packet/login/server/hello.go similarity index 100% rename from codec/packet/login/server/hello.go rename to pkg/protocol/packet/login/server/hello.go diff --git a/codec/packet/login/server/key.go b/pkg/protocol/packet/login/server/key.go similarity index 100% rename from codec/packet/login/server/key.go rename to pkg/protocol/packet/login/server/key.go diff --git a/codec/packet/login/server/login_acknowledged.go b/pkg/protocol/packet/login/server/login_acknowledged.go similarity index 100% rename from codec/packet/login/server/login_acknowledged.go rename to pkg/protocol/packet/login/server/login_acknowledged.go diff --git a/codec/packet/login/server/packet.go b/pkg/protocol/packet/login/server/packet.go similarity index 100% rename from codec/packet/login/server/packet.go rename to pkg/protocol/packet/login/server/packet.go diff --git a/codec/particle/codecs.go b/pkg/protocol/particle/codecs.go similarity index 100% rename from codec/particle/codecs.go rename to pkg/protocol/particle/codecs.go diff --git a/codec/particle/particle.go b/pkg/protocol/particle/particle.go similarity index 99% rename from codec/particle/particle.go rename to pkg/protocol/particle/particle.go index 1b76790..180e98c 100644 --- a/codec/particle/particle.go +++ b/pkg/protocol/particle/particle.go @@ -1,8 +1,9 @@ package particle import ( - pk "github.com/Tnze/go-mc/net/packet" "io" + + pk "github.com/Tnze/go-mc/net/packet" ) type ParticleData interface { diff --git a/codec/particle/particles.go b/pkg/protocol/particle/particles.go similarity index 98% rename from codec/particle/particles.go rename to pkg/protocol/particle/particles.go index 265f60b..45142ba 100644 --- a/codec/particle/particles.go +++ b/pkg/protocol/particle/particles.go @@ -1,9 +1,10 @@ package particle import ( - "git.konjactw.dev/patyhank/minego/codec/slot" - pk "github.com/Tnze/go-mc/net/packet" "io" + + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" + pk "github.com/Tnze/go-mc/net/packet" ) // BasicParticle for Particle Type Other diff --git a/codec/slot/codecs.go b/pkg/protocol/slot/codecs.go similarity index 98% rename from codec/slot/codecs.go rename to pkg/protocol/slot/codecs.go index 3529d7c..99c48e3 100644 --- a/codec/slot/codecs.go +++ b/pkg/protocol/slot/codecs.go @@ -119,7 +119,8 @@ type Int32VarIntVarIntArray []int32 func (a Int32VarIntVarIntArray) WriteTo(w io.Writer) (n int64, err error) { size := len(a) - if nn, err := packet.VarInt(size).WriteTo(w); err != nil { + nn, err := packet.VarInt(size).WriteTo(w) + if err != nil { return n, err } n += nn diff --git a/codec/slot/component.go b/pkg/protocol/slot/component.go similarity index 100% rename from codec/slot/component.go rename to pkg/protocol/slot/component.go diff --git a/codec/slot/display/recipe/codecs.go b/pkg/protocol/slot/display/recipe/codecs.go similarity index 100% rename from codec/slot/display/recipe/codecs.go rename to pkg/protocol/slot/display/recipe/codecs.go diff --git a/codec/slot/display/recipe/recipe_display.go b/pkg/protocol/slot/display/recipe/recipe_display.go similarity index 99% rename from codec/slot/display/recipe/recipe_display.go rename to pkg/protocol/slot/display/recipe/recipe_display.go index 65e84ff..06a87e8 100644 --- a/codec/slot/display/recipe/recipe_display.go +++ b/pkg/protocol/slot/display/recipe/recipe_display.go @@ -1,9 +1,10 @@ package recipe import ( + "io" + "git.konjactw.dev/patyhank/minego/codec/slot/display/slot" pk "github.com/Tnze/go-mc/net/packet" - "io" ) type DisplayType int32 diff --git a/codec/slot/display/slot/codecs.go b/pkg/protocol/slot/display/slot/codecs.go similarity index 100% rename from codec/slot/display/slot/codecs.go rename to pkg/protocol/slot/display/slot/codecs.go diff --git a/codec/slot/display/slot/slot_display.go b/pkg/protocol/slot/display/slot/slot_display.go similarity index 97% rename from codec/slot/display/slot/slot_display.go rename to pkg/protocol/slot/display/slot/slot_display.go index 19dd383..82f10b5 100644 --- a/codec/slot/display/slot/slot_display.go +++ b/pkg/protocol/slot/display/slot/slot_display.go @@ -1,9 +1,10 @@ package slot import ( - "git.konjactw.dev/patyhank/minego/codec/slot" - pk "github.com/Tnze/go-mc/net/packet" "io" + + "git.konjactw.dev/patyhank/minego/pkg/protocol/slot" + pk "github.com/Tnze/go-mc/net/packet" ) type DisplayType int32 diff --git a/codec/slot/hashed_item.go b/pkg/protocol/slot/hashed_item.go similarity index 100% rename from codec/slot/hashed_item.go rename to pkg/protocol/slot/hashed_item.go diff --git a/codec/slot/item_stack.go b/pkg/protocol/slot/item_stack.go similarity index 100% rename from codec/slot/item_stack.go rename to pkg/protocol/slot/item_stack.go diff --git a/codec/slot/trade_item.go b/pkg/protocol/slot/trade_item.go similarity index 99% rename from codec/slot/trade_item.go rename to pkg/protocol/slot/trade_item.go index ca69848..4b11ec3 100644 --- a/codec/slot/trade_item.go +++ b/pkg/protocol/slot/trade_item.go @@ -1,8 +1,9 @@ package slot import ( - pk "github.com/Tnze/go-mc/net/packet" "io" + + pk "github.com/Tnze/go-mc/net/packet" ) type TradeSlot struct { diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..853a4f8 --- /dev/null +++ b/readme.md @@ -0,0 +1,3 @@ +## 說明 + +Minecraft 1.21.6 go-mc server and client \ No newline at end of file