MCPcopy Create free account
hub / github.com/ZeppelinMC/Zeppelin / Encode

Method Encode

protocol/net/packet/play/playerInfoUpdate.go:49–126  ·  view source on GitHub ↗
(w encoding.Writer)

Source from the content-addressed store, hash-verified

47}
48
49func (p *PlayerInfoUpdate) Encode(w encoding.Writer) error {
50 if err := w.Byte(p.Actions); err != nil {
51 return err
52 }
53 if err := w.VarInt(int32(len(p.Players))); err != nil {
54 return err
55 }
56 for uuid, player := range p.Players {
57 if err := w.UUID(uuid); err != nil {
58 return err
59 }
60 if p.Actions&ActionAddPlayer != 0 {
61 if err := w.String(player.Name); err != nil {
62 return err
63 }
64 if err := w.VarInt(int32(len(player.Properties))); err != nil {
65 return err
66 }
67 for _, property := range player.Properties {
68 if err := w.String(property.Name); err != nil {
69 return err
70 }
71 if err := w.String(property.Value); err != nil {
72 return err
73 }
74 if err := w.Bool(property.Signature != ""); err != nil {
75 return err
76 }
77 if property.Signature != "" {
78 if err := w.String(property.Signature); err != nil {
79 return err
80 }
81 }
82 }
83 }
84 if p.Actions&ActionInitializeChat != 0 {
85 if err := w.Bool(player.HasSignatureData); err != nil {
86 return err
87 }
88 if player.HasSignatureData {
89 if err := w.UUID(player.Session.SessionID); err != nil {
90 return err
91 }
92 if err := w.Long(player.Session.ExpiresAt); err != nil {
93 return err
94 }
95 if err := w.ByteArray(player.Session.PublicKey); err != nil {
96 return err
97 }
98 if err := w.ByteArray(player.Session.KeySignature); err != nil {
99 return err
100 }
101 }
102 }
103 if p.Actions&ActionUpdateGameMode != 0 {
104 if err := w.VarInt(player.GameMode); err != nil {
105 return err
106 }

Callers

nothing calls this directly

Calls 8

ByteMethod · 0.45
VarIntMethod · 0.45
UUIDMethod · 0.45
StringMethod · 0.45
BoolMethod · 0.45
LongMethod · 0.45
ByteArrayMethod · 0.45
TextComponentMethod · 0.45

Tested by

no test coverage detected