1 // generated by push_mkauto.lua, DO NOT EDIT
5 "github.com/anon55555/mt"
6 "github.com/yuin/gopher-lua"
9 func PushAnimType(l *lua.LState, val mt.AnimType) lua.LValue {
13 case mt.VerticalFrameAnim:
14 return lua.LString("vertical_frame")
15 case mt.SpriteSheetAnim:
16 return lua.LString("sprite_sheet")
22 func PushChatMsgType(l *lua.LState, val mt.ChatMsgType) lua.LValue {
25 return lua.LString("raw")
27 return lua.LString("normal")
29 return lua.LString("announce")
31 return lua.LString("sys")
37 func PushHotbarParam(l *lua.LState, val mt.HotbarParam) lua.LValue {
40 return lua.LString("size")
42 return lua.LString("img")
44 return lua.LString("sel_img")
50 func PushHUDField(l *lua.LState, val mt.HUDField) lua.LValue {
53 return lua.LString("pos")
55 return lua.LString("name")
57 return lua.LString("scale")
59 return lua.LString("text")
61 return lua.LString("number")
63 return lua.LString("item")
65 return lua.LString("dir")
67 return lua.LString("align")
69 return lua.LString("offset")
71 return lua.LString("world_pos")
73 return lua.LString("size")
75 return lua.LString("z_index")
77 return lua.LString("text_2")
83 func PushHUDType(l *lua.LState, val mt.HUDType) lua.LValue {
86 return lua.LString("img")
88 return lua.LString("text")
90 return lua.LString("statbar")
92 return lua.LString("inv")
94 return lua.LString("waypoint")
95 case mt.ImgWaypointHUD:
96 return lua.LString("img_waypoint")
102 func PushKickReason(l *lua.LState, val mt.KickReason) lua.LValue {
105 return lua.LString("wrong_passwd")
106 case mt.UnexpectedData:
107 return lua.LString("unexpected_data")
108 case mt.SrvIsSingleplayer:
109 return lua.LString("srv_is_singleplayer")
110 case mt.UnsupportedVer:
111 return lua.LString("unsupported_ver")
112 case mt.BadNameChars:
113 return lua.LString("bad_name_chars")
115 return lua.LString("bad_name")
117 return lua.LString("too_many_clts")
119 return lua.LString("empty_passwd")
120 case mt.AlreadyConnected:
121 return lua.LString("already_connected")
123 return lua.LString("srv_err")
125 return lua.LString("custom")
127 return lua.LString("shutdown")
129 return lua.LString("crash")
135 func PushModChanSig(l *lua.LState, val mt.ModChanSig) lua.LValue {
138 return lua.LString("join_ok")
140 return lua.LString("join_fail")
142 return lua.LString("leave_ok")
144 return lua.LString("leave_fail")
145 case mt.NotRegistered:
146 return lua.LString("not_registered")
148 return lua.LString("set_state")
154 func PushPlayerListUpdateType(l *lua.LState, val mt.PlayerListUpdateType) lua.LValue {
157 return lua.LString("init")
159 return lua.LString("add")
160 case mt.RemovePlayers:
161 return lua.LString("remove")
167 func PushSoundSrcType(l *lua.LState, val mt.SoundSrcType) lua.LValue {
172 return lua.LString("pos")
174 return lua.LString("ao")
180 func PushAuthMethods(l *lua.LState, val mt.AuthMethods) lua.LValue {
182 l.SetField(tbl, "legacy_passwd", lua.LBool(val&mt.LegacyPasswd != 0))
183 l.SetField(tbl, "srp", lua.LBool(val&mt.SRP != 0))
184 l.SetField(tbl, "first_srp", lua.LBool(val&mt.FirstSRP != 0))
188 func PushCSMRestrictionFlags(l *lua.LState, val mt.CSMRestrictionFlags) lua.LValue {
190 l.SetField(tbl, "no_csms", lua.LBool(val&mt.NoCSMs != 0))
191 l.SetField(tbl, "no_chat_msgs", lua.LBool(val&mt.NoChatMsgs != 0))
192 l.SetField(tbl, "no_node_defs", lua.LBool(val&mt.NoNodeDefs != 0))
193 l.SetField(tbl, "limit_map_range", lua.LBool(val&mt.LimitMapRange != 0))
194 l.SetField(tbl, "no_player_list", lua.LBool(val&mt.NoPlayerList != 0))
198 func PushHUDFlags(l *lua.LState, val mt.HUDFlags) lua.LValue {
200 l.SetField(tbl, "hotbar", lua.LBool(val&mt.ShowHotbar != 0))
201 l.SetField(tbl, "health_bar", lua.LBool(val&mt.ShowHealthBar != 0))
202 l.SetField(tbl, "crosshair", lua.LBool(val&mt.ShowCrosshair != 0))
203 l.SetField(tbl, "wielded_item", lua.LBool(val&mt.ShowWieldedItem != 0))
204 l.SetField(tbl, "breath_bar", lua.LBool(val&mt.ShowBreathBar != 0))
205 l.SetField(tbl, "minimap", lua.LBool(val&mt.ShowMinimap != 0))
206 l.SetField(tbl, "radar_minimap", lua.LBool(val&mt.ShowRadarMinimap != 0))
210 func PushMapBlkFlags(l *lua.LState, val mt.MapBlkFlags) lua.LValue {
212 l.SetField(tbl, "is_underground", lua.LBool(val&mt.BlkIsUnderground != 0))
213 l.SetField(tbl, "day_night_diff", lua.LBool(val&mt.BlkDayNightDiff != 0))
214 l.SetField(tbl, "light_expired", lua.LBool(val&mt.BlkLightExpired != 0))
215 l.SetField(tbl, "not_generated", lua.LBool(val&mt.BlkNotGenerated != 0))
219 func PushHUD(l *lua.LState, val mt.HUD) lua.LValue {
221 l.SetField(tbl, "align", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Align[0]), lua.LNumber(val.Align[1])}))
222 l.SetField(tbl, "dir", lua.LNumber(val.Dir))
223 l.SetField(tbl, "item", lua.LNumber(val.Item))
224 l.SetField(tbl, "name", lua.LString(string(val.Name)))
225 l.SetField(tbl, "number", lua.LNumber(val.Number))
226 l.SetField(tbl, "offset", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Offset[0]), lua.LNumber(val.Offset[1])}))
227 l.SetField(tbl, "pos", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Pos[0]), lua.LNumber(val.Pos[1])}))
228 l.SetField(tbl, "scale", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Scale[0]), lua.LNumber(val.Scale[1])}))
229 l.SetField(tbl, "size", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Size[0]), lua.LNumber(val.Size[1])}))
230 l.SetField(tbl, "text", lua.LString(string(val.Text)))
231 l.SetField(tbl, "text_2", lua.LString(string(val.Text2)))
232 l.SetField(tbl, "type", PushHUDType(l, val.Type))
233 l.SetField(tbl, "world_pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.WorldPos[0]), lua.LNumber(val.WorldPos[1]), lua.LNumber(val.WorldPos[2])}))
234 l.SetField(tbl, "z_index", lua.LNumber(val.ZIndex))
238 func PushMapBlk(l *lua.LState, val mt.MapBlk) lua.LValue {
240 l.SetField(tbl, "flags", PushMapBlkFlags(l, val.Flags))
241 l.SetField(tbl, "lit_from", lua.LNumber(val.LitFrom))
242 l.SetField(tbl, "node_metas", PushNodeMetas(l, val.NodeMetas))
243 l.SetField(tbl, "param0", Push4096[mt.Content](l, val.Param0))
244 l.SetField(tbl, "param1", Push4096[uint8](l, val.Param1))
245 l.SetField(tbl, "param2", Push4096[uint8](l, val.Param2))
249 func PushNode(l *lua.LState, val mt.Node) lua.LValue {
251 l.SetField(tbl, "param0", lua.LNumber(val.Param0))
252 l.SetField(tbl, "param1", lua.LNumber(val.Param1))
253 l.SetField(tbl, "param2", lua.LNumber(val.Param2))
257 func PushNodeMeta(l *lua.LState, val mt.NodeMeta) lua.LValue {
259 l.SetField(tbl, "fields", PushNodeMetaFields(l, val.Fields))
260 l.SetField(tbl, "inv", PushInv(l, val.Inv))
264 func PushTileAnim(l *lua.LState, val mt.TileAnim) lua.LValue {
266 l.SetField(tbl, "aspect_ratio", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.AspectRatio[0]), lua.LNumber(val.AspectRatio[1])}))
267 l.SetField(tbl, "duration", lua.LNumber(val.Duration))
268 l.SetField(tbl, "n_frames", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.NFrames[0]), lua.LNumber(val.NFrames[1])}))
269 l.SetField(tbl, "type", PushAnimType(l, val.Type))
273 func PushToolCaps(l *lua.LState, val mt.ToolCaps) lua.LValue {
275 l.SetField(tbl, "attack_cooldown", lua.LNumber(val.AttackCooldown))
276 l.SetField(tbl, "dmg_groups", PushGroups(l, val.DmgGroups))
277 l.SetField(tbl, "group_caps", PushGroupCaps(l, val.GroupCaps))
278 l.SetField(tbl, "max_drop_lvl", lua.LNumber(val.MaxDropLvl))
279 l.SetField(tbl, "punch_uses", lua.LNumber(val.PunchUses))
283 func PushPktType(pkt *mt.Pkt) lua.LString {
284 switch pkt.Cmd.(type) {
285 case *mt.ToCltAcceptAuth:
286 return lua.LString("accept_auth")
287 case *mt.ToCltAcceptSudoMode:
288 return lua.LString("accept_sudo_mode")
289 case *mt.ToCltAddHUD:
290 return lua.LString("add_hud")
291 case *mt.ToCltAddNode:
292 return lua.LString("add_node")
293 case *mt.ToCltAddParticleSpawner:
294 return lua.LString("add_particle_spawner")
295 case *mt.ToCltAddPlayerVel:
296 return lua.LString("add_player_vel")
297 case *mt.ToCltAnnounceMedia:
298 return lua.LString("announce_media")
299 case *mt.ToCltAOMsgs:
300 return lua.LString("ao_msgs")
301 case *mt.ToCltAORmAdd:
302 return lua.LString("ao_rm_add")
303 case *mt.ToCltBlkData:
304 return lua.LString("blk_data")
305 case *mt.ToCltBreath:
306 return lua.LString("breath")
307 case *mt.ToCltChangeHUD:
308 return lua.LString("change_hud")
309 case *mt.ToCltChatMsg:
310 return lua.LString("chat_msg")
311 case *mt.ToCltCloudParams:
312 return lua.LString("cloud_params")
313 case *mt.ToCltCSMRestrictionFlags:
314 return lua.LString("csm_restriction_flags")
315 case *mt.ToCltDeathScreen:
316 return lua.LString("death_screen")
317 case *mt.ToCltDelParticleSpawner:
318 return lua.LString("del_particle_spawner")
319 case *mt.ToCltDenySudoMode:
320 return lua.LString("deny_sudo_mode")
321 case *mt.ToCltDetachedInv:
322 return lua.LString("detached_inv")
324 return lua.LString("disco")
325 case *mt.ToCltEyeOffset:
326 return lua.LString("eye_offset")
327 case *mt.ToCltFadeSound:
328 return lua.LString("fade_sound")
329 case *mt.ToCltFormspecPrepend:
330 return lua.LString("formspec_prepend")
332 return lua.LString("fov")
334 return lua.LString("hello")
336 return lua.LString("hp")
337 case *mt.ToCltHUDFlags:
338 return lua.LString("hud_flags")
340 return lua.LString("inv")
341 case *mt.ToCltInvFormspec:
342 return lua.LString("inv_formspec")
343 case *mt.ToCltItemDefs:
344 return lua.LString("item_defs")
346 return lua.LString("kick")
347 case *mt.ToCltLegacyKick:
348 return lua.LString("legacy_kick")
349 case *mt.ToCltLocalPlayerAnim:
350 return lua.LString("local_player_anim")
352 return lua.LString("media")
353 case *mt.ToCltMediaPush:
354 return lua.LString("media_push")
355 case *mt.ToCltMinimapModes:
356 return lua.LString("minimap_modes")
357 case *mt.ToCltModChanMsg:
358 return lua.LString("mod_chan_msg")
359 case *mt.ToCltModChanSig:
360 return lua.LString("mod_chan_sig")
361 case *mt.ToCltMoonParams:
362 return lua.LString("moon_params")
363 case *mt.ToCltMovePlayer:
364 return lua.LString("move_player")
365 case *mt.ToCltMovement:
366 return lua.LString("movement")
367 case *mt.ToCltNodeDefs:
368 return lua.LString("node_defs")
369 case *mt.ToCltNodeMetasChanged:
370 return lua.LString("node_metas_changed")
371 case *mt.ToCltOverrideDayNightRatio:
372 return lua.LString("override_day_night_ratio")
373 case *mt.ToCltPlaySound:
374 return lua.LString("play_sound")
376 return lua.LString("privs")
377 case *mt.ToCltRemoveNode:
378 return lua.LString("remove_node")
380 return lua.LString("rm_hud")
381 case *mt.ToCltSetHotbarParam:
382 return lua.LString("set_hotbar_param")
383 case *mt.ToCltShowFormspec:
384 return lua.LString("show_formspec")
385 case *mt.ToCltSkyParams:
386 return lua.LString("sky_params")
387 case *mt.ToCltSpawnParticle:
388 return lua.LString("spawn_particle")
389 case *mt.ToCltSRPBytesSaltB:
390 return lua.LString("srp_bytes_salt_b")
391 case *mt.ToCltStarParams:
392 return lua.LString("star_params")
393 case *mt.ToCltStopSound:
394 return lua.LString("stop_sound")
395 case *mt.ToCltSunParams:
396 return lua.LString("sun_params")
397 case *mt.ToCltTimeOfDay:
398 return lua.LString("time_of_day")
399 case *mt.ToCltUpdatePlayerList:
400 return lua.LString("update_player_list")
406 func PushPkt(l *lua.LState, pkt *mt.Pkt) lua.LValue {
411 l.SetField(tbl, "_type", PushPktType(pkt))
412 switch val := pkt.Cmd.(type) {
413 case *mt.ToCltAcceptAuth:
414 l.SetField(tbl, "map_seed", lua.LNumber(val.MapSeed))
415 l.SetField(tbl, "player_pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.PlayerPos[0]), lua.LNumber(val.PlayerPos[1]), lua.LNumber(val.PlayerPos[2])}))
416 l.SetField(tbl, "send_interval", lua.LNumber(val.SendInterval))
417 l.SetField(tbl, "sudo_auth_methods", PushAuthMethods(l, val.SudoAuthMethods))
418 case *mt.ToCltAddHUD:
419 l.SetField(tbl, "hud", PushHUD(l, val.HUD))
420 l.SetField(tbl, "id", lua.LNumber(val.ID))
421 case *mt.ToCltAddNode:
422 l.SetField(tbl, "keep_meta", lua.LBool(val.KeepMeta))
423 l.SetField(tbl, "node", PushNode(l, val.Node))
424 l.SetField(tbl, "pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Pos[0]), lua.LNumber(val.Pos[1]), lua.LNumber(val.Pos[2])}))
425 case *mt.ToCltAddParticleSpawner:
426 l.SetField(tbl, "acc", PushBox3(l, [2][3]lua.LNumber{{lua.LNumber(val.Acc[0][0]), lua.LNumber(val.Acc[0][1]), lua.LNumber(val.Acc[0][2])}, {lua.LNumber(val.Acc[1][0]), lua.LNumber(val.Acc[1][1]), lua.LNumber(val.Acc[1][2])}}))
427 l.SetField(tbl, "amount", lua.LNumber(val.Amount))
428 l.SetField(tbl, "anim_params", PushTileAnim(l, val.AnimParams))
429 l.SetField(tbl, "ao_collision", lua.LBool(val.AOCollision))
430 l.SetField(tbl, "collide", lua.LBool(val.Collide))
431 l.SetField(tbl, "collision_rm", lua.LBool(val.CollisionRm))
432 l.SetField(tbl, "duration", lua.LNumber(val.Duration))
433 l.SetField(tbl, "expiration_time", PushBox1(l, [2]lua.LNumber{lua.LNumber(val.ExpirationTime[0]), lua.LNumber(val.ExpirationTime[1])}))
434 l.SetField(tbl, "glow", lua.LNumber(val.Glow))
435 l.SetField(tbl, "id", lua.LNumber(val.ID))
436 l.SetField(tbl, "node_param0", lua.LNumber(val.NodeParam0))
437 l.SetField(tbl, "node_param2", lua.LNumber(val.NodeParam2))
438 l.SetField(tbl, "node_tile", lua.LNumber(val.NodeTile))
439 l.SetField(tbl, "pos", PushBox3(l, [2][3]lua.LNumber{{lua.LNumber(val.Pos[0][0]), lua.LNumber(val.Pos[0][1]), lua.LNumber(val.Pos[0][2])}, {lua.LNumber(val.Pos[1][0]), lua.LNumber(val.Pos[1][1]), lua.LNumber(val.Pos[1][2])}}))
440 l.SetField(tbl, "size", PushBox1(l, [2]lua.LNumber{lua.LNumber(val.Size[0]), lua.LNumber(val.Size[1])}))
441 l.SetField(tbl, "texture", lua.LString(string(val.Texture)))
442 l.SetField(tbl, "vel", PushBox3(l, [2][3]lua.LNumber{{lua.LNumber(val.Vel[0][0]), lua.LNumber(val.Vel[0][1]), lua.LNumber(val.Vel[0][2])}, {lua.LNumber(val.Vel[1][0]), lua.LNumber(val.Vel[1][1]), lua.LNumber(val.Vel[1][2])}}))
443 l.SetField(tbl, "vertical", lua.LBool(val.Vertical))
444 case *mt.ToCltAddPlayerVel:
445 l.SetField(tbl, "vel", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Vel[0]), lua.LNumber(val.Vel[1]), lua.LNumber(val.Vel[2])}))
446 case *mt.ToCltBlkData:
447 l.SetField(tbl, "blk", PushMapBlk(l, val.Blk))
448 l.SetField(tbl, "blkpos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Blkpos[0]), lua.LNumber(val.Blkpos[1]), lua.LNumber(val.Blkpos[2])}))
449 case *mt.ToCltBreath:
450 l.SetField(tbl, "breath", lua.LNumber(val.Breath))
451 case *mt.ToCltChangeHUD:
452 if val.Field == mt.HUDAlign {
453 l.SetField(tbl, "align", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Align[0]), lua.LNumber(val.Align[1])}))
455 if val.Field == mt.HUDDir {
456 l.SetField(tbl, "dir", lua.LNumber(val.Dir))
458 l.SetField(tbl, "field", PushHUDField(l, val.Field))
459 l.SetField(tbl, "id", lua.LNumber(val.ID))
460 if val.Field == mt.HUDItem {
461 l.SetField(tbl, "item", lua.LNumber(val.Item))
463 if val.Field == mt.HUDName {
464 l.SetField(tbl, "name", lua.LString(string(val.Name)))
466 if val.Field == mt.HUDNumber {
467 l.SetField(tbl, "number", lua.LNumber(val.Number))
469 if val.Field == mt.HUDOffset {
470 l.SetField(tbl, "offset", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Offset[0]), lua.LNumber(val.Offset[1])}))
472 if val.Field == mt.HUDPos {
473 l.SetField(tbl, "pos", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Pos[0]), lua.LNumber(val.Pos[1])}))
475 if val.Field == mt.HUDSize {
476 l.SetField(tbl, "size", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Size[0]), lua.LNumber(val.Size[1])}))
478 if val.Field == mt.HUDText {
479 l.SetField(tbl, "text", lua.LString(string(val.Text)))
481 if val.Field == mt.HUDText2 {
482 l.SetField(tbl, "text_2", lua.LString(string(val.Text2)))
484 if val.Field == mt.HUDWorldPos {
485 l.SetField(tbl, "world_pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.WorldPos[0]), lua.LNumber(val.WorldPos[1]), lua.LNumber(val.WorldPos[2])}))
487 if val.Field == mt.HUDZIndex {
488 l.SetField(tbl, "z_index", lua.LNumber(val.ZIndex))
490 case *mt.ToCltChatMsg:
491 l.SetField(tbl, "sender", lua.LString(string(val.Sender)))
492 l.SetField(tbl, "text", lua.LString(string(val.Text)))
493 l.SetField(tbl, "timestamp", lua.LNumber(val.Timestamp))
494 l.SetField(tbl, "type", PushChatMsgType(l, val.Type))
495 case *mt.ToCltCloudParams:
496 l.SetField(tbl, "ambient_color", PushColor(l, val.AmbientColor))
497 l.SetField(tbl, "density", lua.LNumber(val.Density))
498 l.SetField(tbl, "diffuse_color", PushColor(l, val.DiffuseColor))
499 l.SetField(tbl, "height", lua.LNumber(val.Height))
500 l.SetField(tbl, "speed", PushVec2(l, [2]lua.LNumber{lua.LNumber(val.Speed[0]), lua.LNumber(val.Speed[1])}))
501 l.SetField(tbl, "thickness", lua.LNumber(val.Thickness))
502 case *mt.ToCltCSMRestrictionFlags:
503 l.SetField(tbl, "flags", PushCSMRestrictionFlags(l, val.Flags))
504 l.SetField(tbl, "map_range", lua.LNumber(val.MapRange))
505 case *mt.ToCltDeathScreen:
506 l.SetField(tbl, "point_at", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.PointAt[0]), lua.LNumber(val.PointAt[1]), lua.LNumber(val.PointAt[2])}))
507 l.SetField(tbl, "point_cam", lua.LBool(val.PointCam))
508 case *mt.ToCltDelParticleSpawner:
509 l.SetField(tbl, "id", lua.LNumber(val.ID))
510 case *mt.ToCltDetachedInv:
511 l.SetField(tbl, "inv", lua.LString(string(val.Inv)))
512 l.SetField(tbl, "keep", lua.LBool(val.Keep))
513 l.SetField(tbl, "len", lua.LNumber(val.Len))
514 l.SetField(tbl, "name", lua.LString(string(val.Name)))
515 case *mt.ToCltEyeOffset:
516 l.SetField(tbl, "first", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.First[0]), lua.LNumber(val.First[1]), lua.LNumber(val.First[2])}))
517 l.SetField(tbl, "third", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Third[0]), lua.LNumber(val.Third[1]), lua.LNumber(val.Third[2])}))
518 case *mt.ToCltFadeSound:
519 l.SetField(tbl, "gain", lua.LNumber(val.Gain))
520 l.SetField(tbl, "id", lua.LNumber(val.ID))
521 l.SetField(tbl, "step", lua.LNumber(val.Step))
522 case *mt.ToCltFormspecPrepend:
523 l.SetField(tbl, "prepend", lua.LString(string(val.Prepend)))
525 l.SetField(tbl, "fov", lua.LNumber(val.FOV))
526 l.SetField(tbl, "multiplier", lua.LBool(val.Multiplier))
527 l.SetField(tbl, "transition_time", lua.LNumber(val.TransitionTime))
529 l.SetField(tbl, "auth_methods", PushAuthMethods(l, val.AuthMethods))
530 l.SetField(tbl, "compression", lua.LNumber(val.Compression))
531 l.SetField(tbl, "proto_ver", lua.LNumber(val.ProtoVer))
532 l.SetField(tbl, "serialize_ver", lua.LNumber(val.SerializeVer))
533 l.SetField(tbl, "username", lua.LString(string(val.Username)))
535 l.SetField(tbl, "hp", lua.LNumber(val.HP))
536 case *mt.ToCltHUDFlags:
537 l.SetField(tbl, "flags", PushHUDFlags(l, val.Flags))
538 l.SetField(tbl, "mask", PushHUDFlags(l, val.Mask))
540 l.SetField(tbl, "inv", lua.LString(string(val.Inv)))
541 case *mt.ToCltInvFormspec:
542 l.SetField(tbl, "formspec", lua.LString(string(val.Formspec)))
544 if val.Reason == mt.Custom || val.Reason == mt.Shutdown || val.Reason == mt.Crash {
545 l.SetField(tbl, "custom", lua.LString(string(val.Custom)))
547 l.SetField(tbl, "reason", PushKickReason(l, val.Reason))
548 if val.Reason == mt.Shutdown || val.Reason == mt.Crash {
549 l.SetField(tbl, "reconnect", lua.LBool(val.Reconnect))
551 case *mt.ToCltLegacyKick:
552 l.SetField(tbl, "reason", lua.LString(string(val.Reason)))
553 case *mt.ToCltLocalPlayerAnim:
554 l.SetField(tbl, "dig", PushBox1(l, [2]lua.LNumber{lua.LNumber(val.Dig[0]), lua.LNumber(val.Dig[1])}))
555 l.SetField(tbl, "idle", PushBox1(l, [2]lua.LNumber{lua.LNumber(val.Idle[0]), lua.LNumber(val.Idle[1])}))
556 l.SetField(tbl, "speed", lua.LNumber(val.Speed))
557 l.SetField(tbl, "walk", PushBox1(l, [2]lua.LNumber{lua.LNumber(val.Walk[0]), lua.LNumber(val.Walk[1])}))
558 l.SetField(tbl, "walk_dig", PushBox1(l, [2]lua.LNumber{lua.LNumber(val.WalkDig[0]), lua.LNumber(val.WalkDig[1])}))
559 case *mt.ToCltMediaPush:
560 l.SetField(tbl, "data", lua.LString(string(val.Data)))
561 l.SetField(tbl, "filename", lua.LString(string(val.Filename)))
562 l.SetField(tbl, "sha1", lua.LString(string(val.SHA1[:])))
563 l.SetField(tbl, "should_cache", lua.LBool(val.ShouldCache))
564 case *mt.ToCltModChanMsg:
565 l.SetField(tbl, "channel", lua.LString(string(val.Channel)))
566 l.SetField(tbl, "msg", lua.LString(string(val.Msg)))
567 l.SetField(tbl, "sender", lua.LString(string(val.Sender)))
568 case *mt.ToCltModChanSig:
569 l.SetField(tbl, "channel", lua.LString(string(val.Channel)))
570 l.SetField(tbl, "signal", PushModChanSig(l, val.Signal))
571 case *mt.ToCltMoonParams:
572 l.SetField(tbl, "size", lua.LNumber(val.Size))
573 l.SetField(tbl, "texture", lua.LString(string(val.Texture)))
574 l.SetField(tbl, "tone_map", lua.LString(string(val.ToneMap)))
575 l.SetField(tbl, "visible", lua.LBool(val.Visible))
576 case *mt.ToCltMovePlayer:
577 l.SetField(tbl, "pitch", lua.LNumber(val.Pitch))
578 l.SetField(tbl, "pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Pos[0]), lua.LNumber(val.Pos[1]), lua.LNumber(val.Pos[2])}))
579 l.SetField(tbl, "yaw", lua.LNumber(val.Yaw))
580 case *mt.ToCltMovement:
581 l.SetField(tbl, "air_accel", lua.LNumber(val.AirAccel))
582 l.SetField(tbl, "climb_speed", lua.LNumber(val.ClimbSpeed))
583 l.SetField(tbl, "crouch_speed", lua.LNumber(val.CrouchSpeed))
584 l.SetField(tbl, "default_accel", lua.LNumber(val.DefaultAccel))
585 l.SetField(tbl, "fast_accel", lua.LNumber(val.FastAccel))
586 l.SetField(tbl, "fast_speed", lua.LNumber(val.FastSpeed))
587 l.SetField(tbl, "fluidity", lua.LNumber(val.Fluidity))
588 l.SetField(tbl, "gravity", lua.LNumber(val.Gravity))
589 l.SetField(tbl, "jump_speed", lua.LNumber(val.JumpSpeed))
590 l.SetField(tbl, "sink", lua.LNumber(val.Sink))
591 l.SetField(tbl, "smoothing", lua.LNumber(val.Smoothing))
592 l.SetField(tbl, "walk_speed", lua.LNumber(val.WalkSpeed))
593 case *mt.ToCltNodeMetasChanged:
594 l.SetField(tbl, "changed", PushChangedNodeMetas(l, val.Changed))
595 case *mt.ToCltOverrideDayNightRatio:
596 l.SetField(tbl, "override", lua.LBool(val.Override))
597 l.SetField(tbl, "ratio", lua.LNumber(val.Ratio))
598 case *mt.ToCltPlaySound:
599 l.SetField(tbl, "ephemeral", lua.LBool(val.Ephemeral))
600 l.SetField(tbl, "fade", lua.LNumber(val.Fade))
601 l.SetField(tbl, "gain", lua.LNumber(val.Gain))
602 l.SetField(tbl, "id", lua.LNumber(val.ID))
603 l.SetField(tbl, "loop", lua.LBool(val.Loop))
604 l.SetField(tbl, "name", lua.LString(string(val.Name)))
605 l.SetField(tbl, "pitch", lua.LNumber(val.Pitch))
606 l.SetField(tbl, "pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Pos[0]), lua.LNumber(val.Pos[1]), lua.LNumber(val.Pos[2])}))
607 l.SetField(tbl, "src_aoid", lua.LNumber(val.SrcAOID))
608 l.SetField(tbl, "src_type", PushSoundSrcType(l, val.SrcType))
610 l.SetField(tbl, "privs", PushStringSet(l, val.Privs))
611 case *mt.ToCltRemoveNode:
612 l.SetField(tbl, "pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Pos[0]), lua.LNumber(val.Pos[1]), lua.LNumber(val.Pos[2])}))
614 l.SetField(tbl, "id", lua.LNumber(val.ID))
615 case *mt.ToCltSetHotbarParam:
616 l.SetField(tbl, "img", lua.LString(string(val.Img)))
617 l.SetField(tbl, "param", PushHotbarParam(l, val.Param))
618 l.SetField(tbl, "size", lua.LNumber(val.Size))
619 case *mt.ToCltShowFormspec:
620 l.SetField(tbl, "formname", lua.LString(string(val.Formname)))
621 l.SetField(tbl, "formspec", lua.LString(string(val.Formspec)))
622 case *mt.ToCltSkyParams:
623 l.SetField(tbl, "bg_color", PushColor(l, val.BgColor))
624 l.SetField(tbl, "clouds", lua.LBool(val.Clouds))
625 if val.Type == "regular" {
626 l.SetField(tbl, "dawn_horizon", PushColor(l, val.DawnHorizon))
628 if val.Type == "regular" {
629 l.SetField(tbl, "dawn_sky", PushColor(l, val.DawnSky))
631 if val.Type == "regular" {
632 l.SetField(tbl, "day_horizon", PushColor(l, val.DayHorizon))
634 if val.Type == "regular" {
635 l.SetField(tbl, "day_sky", PushColor(l, val.DaySky))
637 l.SetField(tbl, "fog_tint_type", lua.LString(string(val.FogTintType)))
638 if val.Type == "regular" {
639 l.SetField(tbl, "indoor", PushColor(l, val.Indoor))
641 l.SetField(tbl, "moon_fog_tint", PushColor(l, val.MoonFogTint))
642 if val.Type == "regular" {
643 l.SetField(tbl, "night_horizon", PushColor(l, val.NightHorizon))
645 if val.Type == "regular" {
646 l.SetField(tbl, "night_sky", PushColor(l, val.NightSky))
648 l.SetField(tbl, "sun_fog_tint", PushColor(l, val.SunFogTint))
649 if val.Type == "skybox" {
650 l.SetField(tbl, "textures", PushStringList[mt.Texture](l, val.Textures))
652 l.SetField(tbl, "type", lua.LString(string(val.Type)))
653 case *mt.ToCltSpawnParticle:
654 l.SetField(tbl, "acc", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Acc[0]), lua.LNumber(val.Acc[1]), lua.LNumber(val.Acc[2])}))
655 l.SetField(tbl, "anim_params", PushTileAnim(l, val.AnimParams))
656 l.SetField(tbl, "ao_collision", lua.LBool(val.AOCollision))
657 l.SetField(tbl, "collide", lua.LBool(val.Collide))
658 l.SetField(tbl, "collision_rm", lua.LBool(val.CollisionRm))
659 l.SetField(tbl, "expiration_time", lua.LNumber(val.ExpirationTime))
660 l.SetField(tbl, "glow", lua.LNumber(val.Glow))
661 l.SetField(tbl, "node_param0", lua.LNumber(val.NodeParam0))
662 l.SetField(tbl, "node_param2", lua.LNumber(val.NodeParam2))
663 l.SetField(tbl, "node_tile", lua.LNumber(val.NodeTile))
664 l.SetField(tbl, "pos", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Pos[0]), lua.LNumber(val.Pos[1]), lua.LNumber(val.Pos[2])}))
665 l.SetField(tbl, "size", lua.LNumber(val.Size))
666 l.SetField(tbl, "texture", lua.LString(string(val.Texture)))
667 l.SetField(tbl, "vel", PushVec3(l, [3]lua.LNumber{lua.LNumber(val.Vel[0]), lua.LNumber(val.Vel[1]), lua.LNumber(val.Vel[2])}))
668 l.SetField(tbl, "vertical", lua.LBool(val.Vertical))
669 case *mt.ToCltSRPBytesSaltB:
670 l.SetField(tbl, "b", lua.LString(string(val.B)))
671 l.SetField(tbl, "salt", lua.LString(string(val.Salt)))
672 case *mt.ToCltStarParams:
673 l.SetField(tbl, "color", PushColor(l, val.Color))
674 l.SetField(tbl, "count", lua.LNumber(val.Count))
675 l.SetField(tbl, "size", lua.LNumber(val.Size))
676 l.SetField(tbl, "visible", lua.LBool(val.Visible))
677 case *mt.ToCltStopSound:
678 l.SetField(tbl, "id", lua.LNumber(val.ID))
679 case *mt.ToCltSunParams:
680 l.SetField(tbl, "rise", lua.LString(string(val.Rise)))
681 l.SetField(tbl, "rising", lua.LBool(val.Rising))
682 l.SetField(tbl, "size", lua.LNumber(val.Size))
683 l.SetField(tbl, "texture", lua.LString(string(val.Texture)))
684 l.SetField(tbl, "tone_map", lua.LString(string(val.ToneMap)))
685 l.SetField(tbl, "visible", lua.LBool(val.Visible))
686 case *mt.ToCltTimeOfDay:
687 l.SetField(tbl, "speed", lua.LNumber(val.Speed))
688 l.SetField(tbl, "time", lua.LNumber(val.Time))
689 case *mt.ToCltUpdatePlayerList:
690 l.SetField(tbl, "players", PushStringList[string](l, val.Players))
691 l.SetField(tbl, "type", PushPlayerListUpdateType(l, val.Type))