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

Method encodeNode

protocol/net/packet/play/commands.go:66–135  ·  view source on GitHub ↗
(w encoding.Writer, node Node)

Source from the content-addressed store, hash-verified

64}
65
66func (c *Commands) encodeNode(w encoding.Writer, node Node) error {
67 if err := w.Byte(node.Flags); err != nil {
68 return err
69 }
70 if err := w.VarInt(int32(len(node.Children))); err != nil {
71 return err
72 }
73 for _, child := range node.Children {
74 if err := w.VarInt(child); err != nil {
75 return err
76 }
77 }
78 if node.Flags&NodeRedirect != 0 {
79 if err := w.VarInt(node.RedirectNode); err != nil {
80 return err
81 }
82 }
83 if node.Flags&NodeType > 0 {
84 if err := w.String(node.Name); err != nil {
85 return err
86 }
87 }
88 if node.Flags&NodeArgument != 0 {
89 if err := w.VarInt(node.ParserId); err != nil {
90 return err
91 }
92 }
93 if node.Flags&NodeArgument != 0 {
94 for _, p := range node.Properties {
95 switch prop := p.(type) {
96 case float64:
97 if err := w.Double(prop); err != nil {
98 return err
99 }
100 case float32:
101 if err := w.Float(prop); err != nil {
102 return err
103 }
104 case int8:
105 if err := w.Byte(prop); err != nil {
106 return err
107 }
108 case int32:
109 if err := w.Int(prop); err != nil {
110 return err
111 }
112 case int64:
113 if err := w.Long(prop); err != nil {
114 return err
115 }
116 case string:
117 if err := w.Identifier(prop); err != nil {
118 return err
119 }
120 case int:
121 if err := w.VarInt(int32(prop)); err != nil {
122 return err
123 }

Callers 1

EncodeMethod · 0.95

Calls 8

ByteMethod · 0.45
VarIntMethod · 0.45
StringMethod · 0.45
DoubleMethod · 0.45
FloatMethod · 0.45
IntMethod · 0.45
LongMethod · 0.45
IdentifierMethod · 0.45

Tested by

no test coverage detected