1 // generated by read_mkauto.lua, DO NOT EDIT
5 "github.com/dragonfireclient/mt"
6 "github.com/yuin/gopher-lua"
10 func ReadAOID(l *lua.LState, val lua.LValue, ptr *mt.AOID) {
11 if val.Type() != lua.LTNumber {
12 panic("invalid value for AOID: must be a number")
14 *ptr = mt.AOID(math.Round(float64(val.(lua.LNumber))))
17 func ReadCompressionModes(l *lua.LState, val lua.LValue, ptr *mt.CompressionModes) {
18 if val.Type() != lua.LTNumber {
19 panic("invalid value for CompressionModes: must be a number")
21 *ptr = mt.CompressionModes(math.Round(float64(val.(lua.LNumber))))
24 func ReadInt16(l *lua.LState, val lua.LValue, ptr *int16) {
25 if val.Type() != lua.LTNumber {
26 panic("invalid value for int16: must be a number")
28 *ptr = int16(math.Round(float64(val.(lua.LNumber))))
31 func ReadInt32(l *lua.LState, val lua.LValue, ptr *int32) {
32 if val.Type() != lua.LTNumber {
33 panic("invalid value for int32: must be a number")
35 *ptr = int32(math.Round(float64(val.(lua.LNumber))))
38 func ReadInteraction(l *lua.LState, val lua.LValue, ptr *mt.Interaction) {
39 if val.Type() != lua.LTString {
40 panic("invalid value for Interaction: must be a string")
42 str := string(val.(lua.LString))
57 panic("invalid value for interaction: " + str)
61 func ReadKeys(l *lua.LState, val lua.LValue, ptr *mt.Keys) {
62 if val.Type() != lua.LTTable {
63 panic("invalid value for Keys: must be a table")
65 if l.GetField(val, "forward") == lua.LTrue {
66 *ptr = *ptr | mt.ForwardKey
68 if l.GetField(val, "backward") == lua.LTrue {
69 *ptr = *ptr | mt.BackwardKey
71 if l.GetField(val, "left") == lua.LTrue {
72 *ptr = *ptr | mt.LeftKey
74 if l.GetField(val, "right") == lua.LTrue {
75 *ptr = *ptr | mt.RightKey
77 if l.GetField(val, "jump") == lua.LTrue {
78 *ptr = *ptr | mt.JumpKey
80 if l.GetField(val, "special") == lua.LTrue {
81 *ptr = *ptr | mt.SpecialKey
83 if l.GetField(val, "sneak") == lua.LTrue {
84 *ptr = *ptr | mt.SneakKey
86 if l.GetField(val, "dig") == lua.LTrue {
87 *ptr = *ptr | mt.DigKey
89 if l.GetField(val, "place") == lua.LTrue {
90 *ptr = *ptr | mt.PlaceKey
92 if l.GetField(val, "zoom") == lua.LTrue {
93 *ptr = *ptr | mt.ZoomKey
97 func ReadPlayerPos(l *lua.LState, val lua.LValue, ptr *mt.PlayerPos) {
98 if val.Type() != lua.LTTable {
99 panic("invalid value for PlayerPos: must be a table")
101 ReadUint8(l, l.GetField(val, "fov80"), &ptr.FOV80)
102 ReadKeys(l, l.GetField(val, "keys"), &ptr.Keys)
103 ReadInt32(l, l.GetField(val, "pitch100"), &ptr.Pitch100)
104 ReadVec3Int32(l, l.GetField(val, "pos100"), &ptr.Pos100)
105 ReadVec3Int32(l, l.GetField(val, "vel100"), &ptr.Vel100)
106 ReadUint8(l, l.GetField(val, "wanted_range"), &ptr.WantedRange)
107 ReadInt32(l, l.GetField(val, "yaw100"), &ptr.Yaw100)
110 func ReadSliceSoundID(l *lua.LState, val lua.LValue, ptr *[]mt.SoundID) {
111 if val.Type() != lua.LTTable {
112 panic("invalid value for []SoundID: must be a table")
114 tbl := val.(*lua.LTable)
116 *ptr = make([]mt.SoundID, n)
117 for i := range *ptr {
118 ReadSoundID(l, l.RawGetInt(tbl, i+1), &(*ptr)[i])
122 func ReadSliceString(l *lua.LState, val lua.LValue, ptr *[]string) {
123 if val.Type() != lua.LTTable {
124 panic("invalid value for []string: must be a table")
126 tbl := val.(*lua.LTable)
128 *ptr = make([]string, n)
129 for i := range *ptr {
130 ReadString(l, l.RawGetInt(tbl, i+1), &(*ptr)[i])
134 func ReadSliceVec3Int16(l *lua.LState, val lua.LValue, ptr *[][3]int16) {
135 if val.Type() != lua.LTTable {
136 panic("invalid value for [][3]int16: must be a table")
138 tbl := val.(*lua.LTable)
140 *ptr = make([][3]int16, n)
141 for i := range *ptr {
142 ReadVec3Int16(l, l.RawGetInt(tbl, i+1), &(*ptr)[i])
146 func ReadSoundID(l *lua.LState, val lua.LValue, ptr *mt.SoundID) {
147 if val.Type() != lua.LTNumber {
148 panic("invalid value for SoundID: must be a number")
150 *ptr = mt.SoundID(math.Round(float64(val.(lua.LNumber))))
153 func ReadUint16(l *lua.LState, val lua.LValue, ptr *uint16) {
154 if val.Type() != lua.LTNumber {
155 panic("invalid value for uint16: must be a number")
157 *ptr = uint16(math.Round(float64(val.(lua.LNumber))))
160 func ReadUint8(l *lua.LState, val lua.LValue, ptr *uint8) {
161 if val.Type() != lua.LTNumber {
162 panic("invalid value for uint8: must be a number")
164 *ptr = uint8(math.Round(float64(val.(lua.LNumber))))
167 func ReadVec3Int16(l *lua.LState, val lua.LValue, ptr *[3]int16) {
168 if val.Type() != lua.LTTable {
169 panic("invalid value for [3]int16: must be a table")
171 ReadInt16(l, l.GetField(val, "x"), &(*ptr)[0])
172 ReadInt16(l, l.GetField(val, "y"), &(*ptr)[1])
173 ReadInt16(l, l.GetField(val, "z"), &(*ptr)[2])
176 func ReadVec3Int32(l *lua.LState, val lua.LValue, ptr *[3]int32) {
177 if val.Type() != lua.LTTable {
178 panic("invalid value for [3]int32: must be a table")
180 ReadInt32(l, l.GetField(val, "x"), &(*ptr)[0])
181 ReadInt32(l, l.GetField(val, "y"), &(*ptr)[1])
182 ReadInt32(l, l.GetField(val, "z"), &(*ptr)[2])
185 func ReadCmd(l *lua.LState) mt.Cmd {
186 str := l.CheckString(2)
189 ptr := &mt.ToSrvChatMsg{}
190 val := l.CheckTable(3)
191 ReadString(l, l.GetField(val, "msg"), &ptr.Msg)
194 ptr := &mt.ToSrvCltReady{}
195 val := l.CheckTable(3)
196 ReadUint16(l, l.GetField(val, "formspec"), &ptr.Formspec)
197 ReadUint8(l, l.GetField(val, "major"), &ptr.Major)
198 ReadUint8(l, l.GetField(val, "minor"), &ptr.Minor)
199 ReadUint8(l, l.GetField(val, "patch"), &ptr.Patch)
200 ReadString(l, l.GetField(val, "version"), &ptr.Version)
203 ptr := &mt.ToSrvDeletedBlks{}
204 val := l.CheckTable(3)
205 ReadSliceVec3Int16(l, l.GetField(val, "blks"), &ptr.Blks)
208 ptr := &mt.ToSrvFallDmg{}
209 val := l.CheckTable(3)
210 ReadUint16(l, l.GetField(val, "amount"), &ptr.Amount)
213 ptr := &mt.ToSrvFirstSRP{}
214 val := l.CheckTable(3)
215 ReadBool(l, l.GetField(val, "empty_passwd"), &ptr.EmptyPasswd)
216 ReadSliceByte(l, l.GetField(val, "salt"), &ptr.Salt)
217 ReadSliceByte(l, l.GetField(val, "verifier"), &ptr.Verifier)
220 ptr := &mt.ToSrvGotBlks{}
221 val := l.CheckTable(3)
222 ReadSliceVec3Int16(l, l.GetField(val, "blks"), &ptr.Blks)
225 ptr := &mt.ToSrvInit{}
226 val := l.CheckTable(3)
227 ReadUint16(l, l.GetField(val, "max_proto_ver"), &ptr.MaxProtoVer)
228 ReadUint16(l, l.GetField(val, "min_proto_ver"), &ptr.MinProtoVer)
229 ReadString(l, l.GetField(val, "player_name"), &ptr.PlayerName)
230 ReadBool(l, l.GetField(val, "send_full_item_meta"), &ptr.SendFullItemMeta)
231 ReadUint8(l, l.GetField(val, "serialize_ver"), &ptr.SerializeVer)
232 ReadCompressionModes(l, l.GetField(val, "supported_compression"), &ptr.SupportedCompression)
235 ptr := &mt.ToSrvInit2{}
236 val := l.CheckTable(3)
237 ReadString(l, l.GetField(val, "lang"), &ptr.Lang)
240 ptr := &mt.ToSrvInteract{}
241 val := l.CheckTable(3)
242 ReadInteraction(l, l.GetField(val, "action"), &ptr.Action)
243 ReadUint16(l, l.GetField(val, "item_slot"), &ptr.ItemSlot)
244 ReadPointedThing(l, l.GetField(val, "pointed"), &ptr.Pointed)
245 ReadPlayerPos(l, l.GetField(val, "pos"), &ptr.Pos)
248 ptr := &mt.ToSrvInvAction{}
249 val := l.CheckTable(3)
250 ReadString(l, l.GetField(val, "action"), &ptr.Action)
253 ptr := &mt.ToSrvInvFields{}
254 val := l.CheckTable(3)
255 ReadSliceField(l, l.GetField(val, "fields"), &ptr.Fields)
256 ReadString(l, l.GetField(val, "formname"), &ptr.Formname)
258 case "join_mod_chan":
259 ptr := &mt.ToSrvJoinModChan{}
260 val := l.CheckTable(3)
261 ReadString(l, l.GetField(val, "channel"), &ptr.Channel)
263 case "leave_mod_chan":
264 ptr := &mt.ToSrvLeaveModChan{}
265 val := l.CheckTable(3)
266 ReadString(l, l.GetField(val, "channel"), &ptr.Channel)
269 ptr := &mt.ToSrvMsgModChan{}
270 val := l.CheckTable(3)
271 ReadString(l, l.GetField(val, "channel"), &ptr.Channel)
272 ReadString(l, l.GetField(val, "msg"), &ptr.Msg)
275 ptr := &mt.ToSrvNil{}
277 case "node_meta_fields":
278 ptr := &mt.ToSrvNodeMetaFields{}
279 val := l.CheckTable(3)
280 ReadSliceField(l, l.GetField(val, "fields"), &ptr.Fields)
281 ReadString(l, l.GetField(val, "formname"), &ptr.Formname)
282 ReadVec3Int16(l, l.GetField(val, "pos"), &ptr.Pos)
285 ptr := &mt.ToSrvPlayerPos{}
286 val := l.CheckTable(3)
287 ReadPlayerPos(l, l.GetField(val, "pos"), &ptr.Pos)
289 case "removed_sounds":
290 ptr := &mt.ToSrvRemovedSounds{}
291 val := l.CheckTable(3)
292 ReadSliceSoundID(l, l.GetField(val, "ids"), &ptr.IDs)
295 ptr := &mt.ToSrvReqMedia{}
296 val := l.CheckTable(3)
297 ReadSliceString(l, l.GetField(val, "filenames"), &ptr.Filenames)
300 ptr := &mt.ToSrvRespawn{}
303 ptr := &mt.ToSrvSelectItem{}
304 val := l.CheckTable(3)
305 ReadUint16(l, l.GetField(val, "slot"), &ptr.Slot)
308 ptr := &mt.ToSrvSRPBytesA{}
309 val := l.CheckTable(3)
310 ReadSliceByte(l, l.GetField(val, "a"), &ptr.A)
311 ReadBool(l, l.GetField(val, "no_sha1"), &ptr.NoSHA1)
314 ptr := &mt.ToSrvSRPBytesM{}
315 val := l.CheckTable(3)
316 ReadSliceByte(l, l.GetField(val, "m"), &ptr.M)
320 panic("invalid packet type: " + str)