]> git.lizzy.rs Git - hydra-dragonfire.git/commitdiff
Remove convert.go
authorElias Fleckenstein <eliasfleckenstein@web.de>
Sat, 28 May 2022 13:01:15 +0000 (15:01 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Sat, 28 May 2022 13:01:15 +0000 (15:01 +0200)
convert.go [deleted file]

diff --git a/convert.go b/convert.go
deleted file mode 100644 (file)
index c5e4daa..0000000
+++ /dev/null
@@ -1,882 +0,0 @@
-// generated by mkconvert.lua, DO NOT EDIT
-package main
-
-import (
-       "github.com/Shopify/go-lua"
-       "github.com/anon55555/mt"
-)
-
-func luaPushHotbarParam(l *lua.State, val mt.HotbarParam) {
-       switch val {
-       case mt.HotbarSize:
-               l.PushString("size")
-       case mt.HotbarImg:
-               l.PushString("img")
-       case mt.HotbarSelImg:
-               l.PushString("sel_img")
-       }
-}
-
-func luaPushChatMsgType(l *lua.State, val mt.ChatMsgType) {
-       switch val {
-       case mt.RawMsg:
-               l.PushString("raw")
-       case mt.NormalMsg:
-               l.PushString("normal")
-       case mt.AnnounceMsg:
-               l.PushString("announce")
-       case mt.SysMsg:
-               l.PushString("sys")
-       }
-}
-
-func luaPushHUDType(l *lua.State, val mt.HUDType) {
-       switch val {
-       case mt.ImgHUD:
-               l.PushString("img")
-       case mt.TextHUD:
-               l.PushString("text")
-       case mt.StatbarHUD:
-               l.PushString("statbar")
-       case mt.InvHUD:
-               l.PushString("inv")
-       case mt.WaypointHUD:
-               l.PushString("waypoint")
-       case mt.ImgWaypointHUD:
-               l.PushString("img_waypoint")
-       }
-}
-
-func luaPushPlayerListUpdateType(l *lua.State, val mt.PlayerListUpdateType) {
-       switch val {
-       case mt.InitPlayers:
-               l.PushString("init")
-       case mt.AddPlayers:
-               l.PushString("add")
-       case mt.RemovePlayers:
-               l.PushString("remove")
-       }
-}
-
-func luaPushHUDField(l *lua.State, val mt.HUDField) {
-       switch val {
-       case mt.HUDPos:
-               l.PushString("pos")
-       case mt.HUDName:
-               l.PushString("name")
-       case mt.HUDScale:
-               l.PushString("scale")
-       case mt.HUDText:
-               l.PushString("text")
-       case mt.HUDNumber:
-               l.PushString("number")
-       case mt.HUDItem:
-               l.PushString("item")
-       case mt.HUDDir:
-               l.PushString("dir")
-       case mt.HUDAlign:
-               l.PushString("align")
-       case mt.HUDOffset:
-               l.PushString("offset")
-       case mt.HUDWorldPos:
-               l.PushString("world_pos")
-       case mt.HUDSize:
-               l.PushString("size")
-       case mt.HUDZIndex:
-               l.PushString("z_index")
-       case mt.HUDText2:
-               l.PushString("text_2")
-       }
-}
-
-func luaPushModChanSig(l *lua.State, val mt.ModChanSig) {
-       switch val {
-       case mt.JoinOK:
-               l.PushString("join_ok")
-       case mt.JoinFail:
-               l.PushString("join_fail")
-       case mt.LeaveOK:
-               l.PushString("leave_ok")
-       case mt.LeaveFail:
-               l.PushString("leave_fail")
-       case mt.NotRegistered:
-               l.PushString("not_registered")
-       case mt.SetState:
-               l.PushString("set_state")
-       }
-}
-
-func luaPushKickReason(l *lua.State, val mt.KickReason) {
-       switch val {
-       case mt.WrongPasswd:
-               l.PushString("wrong_passwd")
-       case mt.UnexpectedData:
-               l.PushString("unexpected_data")
-       case mt.SrvIsSingleplayer:
-               l.PushString("srv_is_singleplayer")
-       case mt.UnsupportedVer:
-               l.PushString("unsupported_ver")
-       case mt.BadNameChars:
-               l.PushString("bad_name_chars")
-       case mt.BadName:
-               l.PushString("bad_name")
-       case mt.TooManyClts:
-               l.PushString("too_many_clts")
-       case mt.EmptyPasswd:
-               l.PushString("empty_passwd")
-       case mt.AlreadyConnected:
-               l.PushString("already_connected")
-       case mt.SrvErr:
-               l.PushString("srv_err")
-       case mt.Custom:
-               l.PushString("custom")
-       case mt.Shutdown:
-               l.PushString("shutdown")
-       case mt.Crash:
-               l.PushString("crash")
-       }
-}
-
-func luaPushSoundSrcType(l *lua.State, val mt.SoundSrcType) {
-       switch val {
-       case mt.NoSrc:
-               l.PushNil()
-       case mt.PosSrc:
-               l.PushString("pos")
-       case mt.AOSrc:
-               l.PushString("ao")
-       }
-}
-
-func luaPushAnimType(l *lua.State, val mt.AnimType) {
-       switch val {
-       case mt.NoAnim:
-               l.PushNil()
-       case mt.VerticalFrameAnim:
-               l.PushString("vertical_frame")
-       case mt.SpriteSheetAnim:
-               l.PushString("sprite_sheet")
-       }
-}
-
-func luaPushAuthMethods(l *lua.State, val mt.AuthMethods) {
-       l.NewTable()
-       if val&mt.LegacyPasswd != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "legacy_passwd")
-       }
-       if val&mt.SRP != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "srp")
-       }
-       if val&mt.FirstSRP != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "first_srp")
-       }
-}
-
-func luaPushHUDFlags(l *lua.State, val mt.HUDFlags) {
-       l.NewTable()
-       if val&mt.ShowHotbar != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "hotbar")
-       }
-       if val&mt.ShowHealthBar != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "health_bar")
-       }
-       if val&mt.ShowCrosshair != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "crosshair")
-       }
-       if val&mt.ShowWieldedItem != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "wielded_item")
-       }
-       if val&mt.ShowBreathBar != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "breath_bar")
-       }
-       if val&mt.ShowMinimap != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "minimap")
-       }
-       if val&mt.ShowRadarMinimap != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "radar_minimap")
-       }
-}
-
-func luaPushCSMRestrictionFlags(l *lua.State, val mt.CSMRestrictionFlags) {
-       l.NewTable()
-       if val&mt.NoCSMs != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "no_csms")
-       }
-       if val&mt.NoChatMsgs != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "no_chat_msgs")
-       }
-       if val&mt.NoNodeDefs != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "no_node_defs")
-       }
-       if val&mt.LimitMapRange != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "limit_map_range")
-       }
-       if val&mt.NoPlayerList != 0 {
-               l.PushBoolean(true)
-               l.SetField(-2, "no_player_list")
-       }
-}
-
-func luaPushTileAnim(l *lua.State, val mt.TileAnim) {
-       l.NewTable()
-       luaPushAnimType(l, val.Type)
-       l.SetField(-2, "type")
-       luaPushVec2(l, [2]float64{float64(val.NFrames[0]), float64(val.NFrames[1])})
-       l.SetField(-2, "n_frames")
-       l.PushNumber(float64(val.Duration))
-       l.SetField(-2, "duration")
-       luaPushVec2(l, [2]float64{float64(val.AspectRatio[0]), float64(val.AspectRatio[1])})
-       l.SetField(-2, "aspect_ratio")
-}
-
-func luaPushNode(l *lua.State, val mt.Node) {
-       l.NewTable()
-       l.PushInteger(int(val.Param0))
-       l.SetField(-2, "param0")
-       l.PushInteger(int(val.Param1))
-       l.SetField(-2, "param1")
-       l.PushInteger(int(val.Param2))
-       l.SetField(-2, "param2")
-}
-
-func luaPushHUD(l *lua.State, val mt.HUD) {
-       l.NewTable()
-       luaPushHUDType(l, val.Type)
-       l.SetField(-2, "type")
-       l.PushInteger(int(val.ZIndex))
-       l.SetField(-2, "z_index")
-       luaPushVec2(l, [2]float64{float64(val.Scale[0]), float64(val.Scale[1])})
-       l.SetField(-2, "scale")
-       l.PushString(string(val.Name))
-       l.SetField(-2, "name")
-       luaPushVec3(l, [3]float64{float64(val.WorldPos[0]), float64(val.WorldPos[1]), float64(val.WorldPos[2])})
-       l.SetField(-2, "world_pos")
-       l.PushString(string(val.Text))
-       l.SetField(-2, "text")
-       l.PushString(string(val.Text2))
-       l.SetField(-2, "text_2")
-       luaPushVec2(l, [2]float64{float64(val.Size[0]), float64(val.Size[1])})
-       l.SetField(-2, "size")
-       luaPushVec2(l, [2]float64{float64(val.Align[0]), float64(val.Align[1])})
-       l.SetField(-2, "align")
-       luaPushVec2(l, [2]float64{float64(val.Pos[0]), float64(val.Pos[1])})
-       l.SetField(-2, "pos")
-       l.PushInteger(int(val.Dir))
-       l.SetField(-2, "dir")
-       luaPushVec2(l, [2]float64{float64(val.Offset[0]), float64(val.Offset[1])})
-       l.SetField(-2, "offset")
-       l.PushInteger(int(val.Number))
-       l.SetField(-2, "number")
-       l.PushInteger(int(val.Item))
-       l.SetField(-2, "item")
-}
-
-func pktToString(pkt *mt.Pkt) string {
-       switch pkt.Cmd.(type) {
-       case *mt.ToCltPlaySound:
-               return "play_sound"
-       case *mt.ToCltLegacyKick:
-               return "legacy_kick"
-       case *mt.ToCltFOV:
-               return "fov"
-       case *mt.ToCltNodeMetasChanged:
-               return "node_metas_changed"
-       case *mt.ToCltHello:
-               return "hello"
-       case *mt.ToCltAcceptSudoMode:
-               return "accept_sudo_mode"
-       case *mt.ToCltPrivs:
-               return "privs"
-       case *mt.ToCltDetachedInv:
-               return "detached_inv"
-       case *mt.ToCltSpawnParticle:
-               return "spawn_particle"
-       case *mt.ToCltAcceptAuth:
-               return "accept_auth"
-       case *mt.ToCltOverrideDayNightRatio:
-               return "override_day_night_ratio"
-       case *mt.ToCltMinimapModes:
-               return "minimap_modes"
-       case *mt.ToCltAddHUD:
-               return "add_hud"
-       case *mt.ToCltHP:
-               return "hp"
-       case *mt.ToCltChangeHUD:
-               return "change_hud"
-       case *mt.ToCltFormspecPrepend:
-               return "formspec_prepend"
-       case *mt.ToCltSRPBytesSaltB:
-               return "srp_bytes_salt_b"
-       case *mt.ToCltSetHotbarParam:
-               return "set_hotbar_param"
-       case *mt.ToCltMovePlayer:
-               return "move_player"
-       case *mt.ToCltAddParticleSpawner:
-               return "add_particle_spawner"
-       case *mt.ToCltKick:
-               return "kick"
-       case *mt.ToCltDelParticleSpawner:
-               return "del_particle_spawner"
-       case *mt.ToCltModChanSig:
-               return "mod_chan_sig"
-       case *mt.ToCltMoonParams:
-               return "moon_params"
-       case *mt.ToCltModChanMsg:
-               return "mod_chan_msg"
-       case *mt.ToCltSunParams:
-               return "sun_params"
-       case *mt.ToCltInv:
-               return "inv"
-       case *mt.ToCltRemoveNode:
-               return "remove_node"
-       case *mt.ToCltNodeDefs:
-               return "node_defs"
-       case *mt.ToCltMediaPush:
-               return "media_push"
-       case *mt.ToCltLocalPlayerAnim:
-               return "local_player_anim"
-       case *mt.ToCltFadeSound:
-               return "fade_sound"
-       case *mt.ToCltItemDefs:
-               return "item_defs"
-       case *mt.ToCltUpdatePlayerList:
-               return "update_player_list"
-       case *mt.ToCltEyeOffset:
-               return "eye_offset"
-       case *mt.ToCltMedia:
-               return "media"
-       case *mt.ToCltDisco:
-               return "disco"
-       case *mt.ToCltBlkData:
-               return "blk_data"
-       case *mt.ToCltSkyParams:
-               return "sky_params"
-       case *mt.ToCltBreath:
-               return "breath"
-       case *mt.ToCltChatMsg:
-               return "chat_msg"
-       case *mt.ToCltHUDFlags:
-               return "hud_flags"
-       case *mt.ToCltAOMsgs:
-               return "ao_msgs"
-       case *mt.ToCltRmHUD:
-               return "rm_hud"
-       case *mt.ToCltStarParams:
-               return "star_params"
-       case *mt.ToCltDeathScreen:
-               return "death_screen"
-       case *mt.ToCltAORmAdd:
-               return "ao_rm_add"
-       case *mt.ToCltAddPlayerVel:
-               return "add_player_vel"
-       case *mt.ToCltMovement:
-               return "movement"
-       case *mt.ToCltCloudParams:
-               return "cloud_params"
-       case *mt.ToCltDenySudoMode:
-               return "deny_sudo_mode"
-       case *mt.ToCltCSMRestrictionFlags:
-               return "csm_restriction_flags"
-       case *mt.ToCltAddNode:
-               return "add_node"
-       case *mt.ToCltStopSound:
-               return "stop_sound"
-       case *mt.ToCltInvFormspec:
-               return "inv_formspec"
-       case *mt.ToCltAnnounceMedia:
-               return "announce_media"
-       case *mt.ToCltShowFormspec:
-               return "show_formspec"
-       case *mt.ToCltTimeOfDay:
-               return "time_of_day"
-       }
-       panic("impossible")
-       return ""
-}
-
-func pktToLua(l *lua.State, pkt *mt.Pkt) {
-       if pkt == nil {
-               l.PushNil()
-               return
-       }
-       l.NewTable()
-       l.PushString(pktToString(pkt))
-       l.SetField(-2, "_type")
-       switch val := pkt.Cmd.(type) {
-       case *mt.ToCltPlaySound:
-               l.PushNumber(float64(val.Gain))
-               l.SetField(-2, "gain")
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-               l.PushNumber(float64(val.Pitch))
-               l.SetField(-2, "pitch")
-               luaPushSoundSrcType(l, val.SrcType)
-               l.SetField(-2, "src_type")
-               l.PushInteger(int(val.SrcAOID))
-               l.SetField(-2, "src_aoid")
-               l.PushNumber(float64(val.Fade))
-               l.SetField(-2, "fade")
-               l.PushBoolean(bool(val.Ephemeral))
-               l.SetField(-2, "ephemeral")
-               l.PushBoolean(bool(val.Loop))
-               l.SetField(-2, "loop")
-               l.PushString(string(val.Name))
-               l.SetField(-2, "name")
-               luaPushVec3(l, [3]float64{float64(val.Pos[0]), float64(val.Pos[1]), float64(val.Pos[2])})
-               l.SetField(-2, "pos")
-       case *mt.ToCltLegacyKick:
-               l.PushString(string(val.Reason))
-               l.SetField(-2, "reason")
-       case *mt.ToCltFOV:
-               l.PushNumber(float64(val.TransitionTime))
-               l.SetField(-2, "transition_time")
-               l.PushBoolean(bool(val.Multiplier))
-               l.SetField(-2, "multiplier")
-               l.PushNumber(float64(val.FOV))
-               l.SetField(-2, "fov")
-       case *mt.ToCltHello:
-               luaPushAuthMethods(l, val.AuthMethods)
-               l.SetField(-2, "auth_methods")
-               l.PushString(string(val.Username))
-               l.SetField(-2, "username")
-               l.PushInteger(int(val.Compression))
-               l.SetField(-2, "compression")
-               l.PushInteger(int(val.ProtoVer))
-               l.SetField(-2, "proto_ver")
-               l.PushInteger(int(val.SerializeVer))
-               l.SetField(-2, "serialize_ver")
-       case *mt.ToCltPrivs:
-               luaPushStringSet(l, val.Privs)
-               l.SetField(-2, "privs")
-       case *mt.ToCltDetachedInv:
-               l.PushString(string(val.Inv))
-               l.SetField(-2, "inv")
-               l.PushBoolean(bool(val.Keep))
-               l.SetField(-2, "keep")
-               l.PushInteger(int(val.Len))
-               l.SetField(-2, "len")
-               l.PushString(string(val.Name))
-               l.SetField(-2, "name")
-       case *mt.ToCltSpawnParticle:
-               l.PushBoolean(bool(val.Collide))
-               l.SetField(-2, "collide")
-               l.PushString(string(val.Texture))
-               l.SetField(-2, "texture")
-               luaPushVec3(l, [3]float64{float64(val.Pos[0]), float64(val.Pos[1]), float64(val.Pos[2])})
-               l.SetField(-2, "pos")
-               l.PushInteger(int(val.NodeTile))
-               l.SetField(-2, "node_tile")
-               l.PushBoolean(bool(val.Vertical))
-               l.SetField(-2, "vertical")
-               l.PushInteger(int(val.Glow))
-               l.SetField(-2, "glow")
-               l.PushInteger(int(val.NodeParam2))
-               l.SetField(-2, "node_param2")
-               l.PushInteger(int(val.NodeParam0))
-               l.SetField(-2, "node_param0")
-               l.PushBoolean(bool(val.AOCollision))
-               l.SetField(-2, "ao_collision")
-               l.PushNumber(float64(val.Size))
-               l.SetField(-2, "size")
-               l.PushNumber(float64(val.ExpirationTime))
-               l.SetField(-2, "expiration_time")
-               l.PushBoolean(bool(val.CollisionRm))
-               l.SetField(-2, "collision_rm")
-               luaPushTileAnim(l, val.AnimParams)
-               l.SetField(-2, "anim_params")
-               luaPushVec3(l, [3]float64{float64(val.Acc[0]), float64(val.Acc[1]), float64(val.Acc[2])})
-               l.SetField(-2, "acc")
-               luaPushVec3(l, [3]float64{float64(val.Vel[0]), float64(val.Vel[1]), float64(val.Vel[2])})
-               l.SetField(-2, "vel")
-       case *mt.ToCltAcceptAuth:
-               l.PushNumber(float64(val.MapSeed))
-               l.SetField(-2, "map_seed")
-               luaPushAuthMethods(l, val.SudoAuthMethods)
-               l.SetField(-2, "sudo_auth_methods")
-               l.PushNumber(float64(val.SendInterval))
-               l.SetField(-2, "send_interval")
-               luaPushVec3(l, [3]float64{float64(val.PlayerPos[0]), float64(val.PlayerPos[1]), float64(val.PlayerPos[2])})
-               l.SetField(-2, "player_pos")
-       case *mt.ToCltOverrideDayNightRatio:
-               l.PushInteger(int(val.Ratio))
-               l.SetField(-2, "ratio")
-               l.PushBoolean(bool(val.Override))
-               l.SetField(-2, "override")
-       case *mt.ToCltAddHUD:
-               luaPushHUD(l, val.HUD)
-               l.SetField(-2, "hud")
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-       case *mt.ToCltHP:
-               l.PushInteger(int(val.HP))
-               l.SetField(-2, "hp")
-       case *mt.ToCltChangeHUD:
-               if val.Field == mt.HUDWorldPos {
-                       luaPushVec3(l, [3]float64{float64(val.WorldPos[0]), float64(val.WorldPos[1]), float64(val.WorldPos[2])})
-                       l.SetField(-2, "world_pos")
-               }
-               if val.Field == mt.HUDText2 {
-                       l.PushString(string(val.Text2))
-                       l.SetField(-2, "text_2")
-               }
-               if val.Field == mt.HUDItem {
-                       l.PushInteger(int(val.Item))
-                       l.SetField(-2, "item")
-               }
-               if val.Field == mt.HUDZIndex {
-                       l.PushInteger(int(val.ZIndex))
-                       l.SetField(-2, "z_index")
-               }
-               if val.Field == mt.HUDPos {
-                       luaPushVec2(l, [2]float64{float64(val.Pos[0]), float64(val.Pos[1])})
-                       l.SetField(-2, "pos")
-               }
-               if val.Field == mt.HUDSize {
-                       luaPushVec2(l, [2]float64{float64(val.Size[0]), float64(val.Size[1])})
-                       l.SetField(-2, "size")
-               }
-               if val.Field == mt.HUDName {
-                       l.PushString(string(val.Name))
-                       l.SetField(-2, "name")
-               }
-               if val.Field == mt.HUDDir {
-                       l.PushInteger(int(val.Dir))
-                       l.SetField(-2, "dir")
-               }
-               if val.Field == mt.HUDAlign {
-                       luaPushVec2(l, [2]float64{float64(val.Align[0]), float64(val.Align[1])})
-                       l.SetField(-2, "align")
-               }
-               if val.Field == mt.HUDNumber {
-                       l.PushInteger(int(val.Number))
-                       l.SetField(-2, "number")
-               }
-               if val.Field == mt.HUDText {
-                       l.PushString(string(val.Text))
-                       l.SetField(-2, "text")
-               }
-               if val.Field == mt.HUDOffset {
-                       luaPushVec2(l, [2]float64{float64(val.Offset[0]), float64(val.Offset[1])})
-                       l.SetField(-2, "offset")
-               }
-               luaPushHUDField(l, val.Field)
-               l.SetField(-2, "field")
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-       case *mt.ToCltFormspecPrepend:
-               l.PushString(string(val.Prepend))
-               l.SetField(-2, "prepend")
-       case *mt.ToCltSRPBytesSaltB:
-               l.PushString(string(val.B))
-               l.SetField(-2, "b")
-               l.PushString(string(val.Salt))
-               l.SetField(-2, "salt")
-       case *mt.ToCltSetHotbarParam:
-               luaPushHotbarParam(l, val.Param)
-               l.SetField(-2, "param")
-               l.PushInteger(int(val.Size))
-               l.SetField(-2, "size")
-               l.PushString(string(val.Img))
-               l.SetField(-2, "img")
-       case *mt.ToCltMovePlayer:
-               l.PushNumber(float64(val.Yaw))
-               l.SetField(-2, "yaw")
-               l.PushNumber(float64(val.Pitch))
-               l.SetField(-2, "pitch")
-               luaPushVec3(l, [3]float64{float64(val.Pos[0]), float64(val.Pos[1]), float64(val.Pos[2])})
-               l.SetField(-2, "pos")
-       case *mt.ToCltAddParticleSpawner:
-               luaPushBox3(l, [2][3]float64{{float64(val.Acc[0][0]), float64(val.Acc[0][1]), float64(val.Acc[0][2])}, {float64(val.Acc[1][0]), float64(val.Acc[1][1]), float64(val.Acc[1][2])}})
-               l.SetField(-2, "acc")
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-               l.PushString(string(val.Texture))
-               l.SetField(-2, "texture")
-               l.PushBoolean(bool(val.Vertical))
-               l.SetField(-2, "vertical")
-               luaPushBox1(l, [2]float64{float64(val.ExpirationTime[0]), float64(val.ExpirationTime[1])})
-               l.SetField(-2, "expiration_time")
-               luaPushTileAnim(l, val.AnimParams)
-               l.SetField(-2, "anim_params")
-               l.PushBoolean(bool(val.AOCollision))
-               l.SetField(-2, "ao_collision")
-               luaPushBox3(l, [2][3]float64{{float64(val.Pos[0][0]), float64(val.Pos[0][1]), float64(val.Pos[0][2])}, {float64(val.Pos[1][0]), float64(val.Pos[1][1]), float64(val.Pos[1][2])}})
-               l.SetField(-2, "pos")
-               l.PushInteger(int(val.Glow))
-               l.SetField(-2, "glow")
-               l.PushInteger(int(val.NodeParam0))
-               l.SetField(-2, "node_param0")
-               luaPushBox3(l, [2][3]float64{{float64(val.Vel[0][0]), float64(val.Vel[0][1]), float64(val.Vel[0][2])}, {float64(val.Vel[1][0]), float64(val.Vel[1][1]), float64(val.Vel[1][2])}})
-               l.SetField(-2, "vel")
-               l.PushBoolean(bool(val.Collide))
-               l.SetField(-2, "collide")
-               luaPushBox1(l, [2]float64{float64(val.Size[0]), float64(val.Size[1])})
-               l.SetField(-2, "size")
-               l.PushInteger(int(val.NodeParam2))
-               l.SetField(-2, "node_param2")
-               l.PushNumber(float64(val.Duration))
-               l.SetField(-2, "duration")
-               l.PushInteger(int(val.NodeTile))
-               l.SetField(-2, "node_tile")
-               l.PushInteger(int(val.Amount))
-               l.SetField(-2, "amount")
-               l.PushBoolean(bool(val.CollisionRm))
-               l.SetField(-2, "collision_rm")
-       case *mt.ToCltKick:
-               luaPushKickReason(l, val.Reason)
-               l.SetField(-2, "reason")
-               if dr := val.Reason; dr == mt.Custom || dr == mt.Shutdown || dr == mt.Crash {
-                       l.PushString(string(val.Custom))
-                       l.SetField(-2, "custom")
-               }
-               if dr := val.Reason; dr == mt.Shutdown || dr == mt.Crash {
-                       l.PushBoolean(bool(val.Reconnect))
-                       l.SetField(-2, "reconnect")
-               }
-       case *mt.ToCltDelParticleSpawner:
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-       case *mt.ToCltModChanSig:
-               l.PushString(string(val.Channel))
-               l.SetField(-2, "channel")
-               luaPushModChanSig(l, val.Signal)
-               l.SetField(-2, "signal")
-       case *mt.ToCltMoonParams:
-               l.PushNumber(float64(val.Size))
-               l.SetField(-2, "size")
-               l.PushString(string(val.ToneMap))
-               l.SetField(-2, "tone_map")
-               l.PushString(string(val.Texture))
-               l.SetField(-2, "texture")
-               l.PushBoolean(bool(val.Visible))
-               l.SetField(-2, "visible")
-       case *mt.ToCltModChanMsg:
-               l.PushString(string(val.Channel))
-               l.SetField(-2, "channel")
-               l.PushString(string(val.Sender))
-               l.SetField(-2, "sender")
-               l.PushString(string(val.Msg))
-               l.SetField(-2, "msg")
-       case *mt.ToCltSunParams:
-               l.PushString(string(val.Texture))
-               l.SetField(-2, "texture")
-               l.PushBoolean(bool(val.Visible))
-               l.SetField(-2, "visible")
-               l.PushNumber(float64(val.Size))
-               l.SetField(-2, "size")
-               l.PushString(string(val.ToneMap))
-               l.SetField(-2, "tone_map")
-               l.PushBoolean(bool(val.Rising))
-               l.SetField(-2, "rising")
-               l.PushString(string(val.Rise))
-               l.SetField(-2, "rise")
-       case *mt.ToCltInv:
-               l.PushString(string(val.Inv))
-               l.SetField(-2, "inv")
-       case *mt.ToCltRemoveNode:
-               luaPushVec3(l, [3]float64{float64(val.Pos[0]), float64(val.Pos[1]), float64(val.Pos[2])})
-               l.SetField(-2, "pos")
-       case *mt.ToCltMediaPush:
-               l.PushString(string(val.SHA1[:]))
-               l.SetField(-2, "sha1")
-               l.PushString(string(val.Data))
-               l.SetField(-2, "data")
-               l.PushBoolean(bool(val.ShouldCache))
-               l.SetField(-2, "should_cache")
-               l.PushString(string(val.Filename))
-               l.SetField(-2, "filename")
-       case *mt.ToCltLocalPlayerAnim:
-               luaPushBox1(l, [2]float64{float64(val.Walk[0]), float64(val.Walk[1])})
-               l.SetField(-2, "walk")
-               luaPushBox1(l, [2]float64{float64(val.Idle[0]), float64(val.Idle[1])})
-               l.SetField(-2, "idle")
-               l.PushNumber(float64(val.Speed))
-               l.SetField(-2, "speed")
-               luaPushBox1(l, [2]float64{float64(val.Dig[0]), float64(val.Dig[1])})
-               l.SetField(-2, "dig")
-               luaPushBox1(l, [2]float64{float64(val.WalkDig[0]), float64(val.WalkDig[1])})
-               l.SetField(-2, "walk_dig")
-       case *mt.ToCltFadeSound:
-               l.PushNumber(float64(val.Step))
-               l.SetField(-2, "step")
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-               l.PushNumber(float64(val.Gain))
-               l.SetField(-2, "gain")
-       case *mt.ToCltUpdatePlayerList:
-               luaPushPlayerListUpdateType(l, val.Type)
-               l.SetField(-2, "type")
-               luaPushStringList(l, val.Players)
-               l.SetField(-2, "players")
-       case *mt.ToCltEyeOffset:
-               luaPushVec3(l, [3]float64{float64(val.First[0]), float64(val.First[1]), float64(val.First[2])})
-               l.SetField(-2, "first")
-               luaPushVec3(l, [3]float64{float64(val.Third[0]), float64(val.Third[1]), float64(val.Third[2])})
-               l.SetField(-2, "third")
-       case *mt.ToCltBlkData:
-               luaPushVec3(l, [3]float64{float64(val.Blkpos[0]), float64(val.Blkpos[1]), float64(val.Blkpos[2])})
-               l.SetField(-2, "blkpos")
-       case *mt.ToCltSkyParams:
-               luaPushColor(l, val.SunFogTint)
-               l.SetField(-2, "sun_fog_tint")
-               l.PushString(string(val.FogTintType))
-               l.SetField(-2, "fog_tint_type")
-               if val.Type == "regular" {
-                       luaPushColor(l, val.DawnHorizon)
-                       l.SetField(-2, "dawn_horizon")
-               }
-               if val.Type == "regular" {
-                       luaPushColor(l, val.DaySky)
-                       l.SetField(-2, "day_sky")
-               }
-               l.PushBoolean(bool(val.Clouds))
-               l.SetField(-2, "clouds")
-               l.PushString(string(val.Type))
-               l.SetField(-2, "type")
-               luaPushColor(l, val.BgColor)
-               l.SetField(-2, "bg_color")
-               if val.Type == "regular" {
-                       luaPushColor(l, val.DawnSky)
-                       l.SetField(-2, "dawn_sky")
-               }
-               if val.Type == "regular" {
-                       luaPushColor(l, val.NightHorizon)
-                       l.SetField(-2, "night_horizon")
-               }
-               if val.Type == "regular" {
-                       luaPushColor(l, val.NightSky)
-                       l.SetField(-2, "night_sky")
-               }
-               if val.Type == "regular" {
-                       luaPushColor(l, val.DayHorizon)
-                       l.SetField(-2, "day_horizon")
-               }
-               if val.Type == "skybox" {
-                       luaPushTextureList(l, val.Textures)
-                       l.SetField(-2, "textures")
-               }
-               luaPushColor(l, val.MoonFogTint)
-               l.SetField(-2, "moon_fog_tint")
-               if val.Type == "regular" {
-                       luaPushColor(l, val.Indoor)
-                       l.SetField(-2, "indoor")
-               }
-       case *mt.ToCltBreath:
-               l.PushInteger(int(val.Breath))
-               l.SetField(-2, "breath")
-       case *mt.ToCltChatMsg:
-               luaPushChatMsgType(l, val.Type)
-               l.SetField(-2, "type")
-               l.PushString(string(val.Sender))
-               l.SetField(-2, "sender")
-               l.PushNumber(float64(val.Timestamp))
-               l.SetField(-2, "timestamp")
-               l.PushString(string(val.Text))
-               l.SetField(-2, "text")
-       case *mt.ToCltHUDFlags:
-               luaPushHUDFlags(l, val.Flags)
-               l.SetField(-2, "flags")
-               luaPushHUDFlags(l, val.Mask)
-               l.SetField(-2, "mask")
-       case *mt.ToCltRmHUD:
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-       case *mt.ToCltStarParams:
-               l.PushInteger(int(val.Count))
-               l.SetField(-2, "count")
-               l.PushNumber(float64(val.Size))
-               l.SetField(-2, "size")
-               luaPushColor(l, val.Color)
-               l.SetField(-2, "color")
-               l.PushBoolean(bool(val.Visible))
-               l.SetField(-2, "visible")
-       case *mt.ToCltDeathScreen:
-               l.PushBoolean(bool(val.PointCam))
-               l.SetField(-2, "point_cam")
-               luaPushVec3(l, [3]float64{float64(val.PointAt[0]), float64(val.PointAt[1]), float64(val.PointAt[2])})
-               l.SetField(-2, "point_at")
-       case *mt.ToCltAddPlayerVel:
-               luaPushVec3(l, [3]float64{float64(val.Vel[0]), float64(val.Vel[1]), float64(val.Vel[2])})
-               l.SetField(-2, "vel")
-       case *mt.ToCltMovement:
-               l.PushNumber(float64(val.JumpSpeed))
-               l.SetField(-2, "jump_speed")
-               l.PushNumber(float64(val.FastAccel))
-               l.SetField(-2, "fast_accel")
-               l.PushNumber(float64(val.FastSpeed))
-               l.SetField(-2, "fast_speed")
-               l.PushNumber(float64(val.Sink))
-               l.SetField(-2, "sink")
-               l.PushNumber(float64(val.AirAccel))
-               l.SetField(-2, "air_accel")
-               l.PushNumber(float64(val.Gravity))
-               l.SetField(-2, "gravity")
-               l.PushNumber(float64(val.CrouchSpeed))
-               l.SetField(-2, "crouch_speed")
-               l.PushNumber(float64(val.Smoothing))
-               l.SetField(-2, "smoothing")
-               l.PushNumber(float64(val.WalkSpeed))
-               l.SetField(-2, "walk_speed")
-               l.PushNumber(float64(val.Fluidity))
-               l.SetField(-2, "fluidity")
-               l.PushNumber(float64(val.ClimbSpeed))
-               l.SetField(-2, "climb_speed")
-               l.PushNumber(float64(val.DefaultAccel))
-               l.SetField(-2, "default_accel")
-       case *mt.ToCltCloudParams:
-               luaPushColor(l, val.AmbientColor)
-               l.SetField(-2, "ambient_color")
-               l.PushNumber(float64(val.Density))
-               l.SetField(-2, "density")
-               luaPushColor(l, val.DiffuseColor)
-               l.SetField(-2, "diffuse_color")
-               l.PushNumber(float64(val.Height))
-               l.SetField(-2, "height")
-               luaPushVec2(l, [2]float64{float64(val.Speed[0]), float64(val.Speed[1])})
-               l.SetField(-2, "speed")
-               l.PushNumber(float64(val.Thickness))
-               l.SetField(-2, "thickness")
-       case *mt.ToCltCSMRestrictionFlags:
-               luaPushCSMRestrictionFlags(l, val.Flags)
-               l.SetField(-2, "flags")
-               l.PushInteger(int(val.MapRange))
-               l.SetField(-2, "map_range")
-       case *mt.ToCltAddNode:
-               luaPushNode(l, val.Node)
-               l.SetField(-2, "node")
-               l.PushBoolean(bool(val.KeepMeta))
-               l.SetField(-2, "keep_meta")
-               luaPushVec3(l, [3]float64{float64(val.Pos[0]), float64(val.Pos[1]), float64(val.Pos[2])})
-               l.SetField(-2, "pos")
-       case *mt.ToCltStopSound:
-               l.PushInteger(int(val.ID))
-               l.SetField(-2, "id")
-       case *mt.ToCltInvFormspec:
-               l.PushString(string(val.Formspec))
-               l.SetField(-2, "formspec")
-       case *mt.ToCltShowFormspec:
-               l.PushString(string(val.Formspec))
-               l.SetField(-2, "formspec")
-               l.PushString(string(val.Formname))
-               l.SetField(-2, "formname")
-       case *mt.ToCltTimeOfDay:
-               l.PushNumber(float64(val.Speed))
-               l.SetField(-2, "speed")
-               l.PushInteger(int(val.Time))
-               l.SetField(-2, "time")
-       }
-}