diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-08-30 22:38:47 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-08-30 22:38:47 +0200 |
commit | 525750e143f6621c142f3119b7a31b3798981c72 (patch) | |
tree | 2ff502eb5e1061566265ebb7d9f48ad22d7f7952 /server_conn.go | |
parent | 63b65d20c69544b47b0ff8a88b294aa877611e26 (diff) |
InvFormspec + MinimapModes + NodeMetasChanged forwarding
Diffstat (limited to 'server_conn.go')
-rw-r--r-- | server_conn.go | 50 |
1 files changed, 13 insertions, 37 deletions
diff --git a/server_conn.go b/server_conn.go index 5ad47b7..44c6675 100644 --- a/server_conn.go +++ b/server_conn.go @@ -5,7 +5,6 @@ import ( "fmt" "log" "net" - "regexp" "strings" "time" @@ -411,46 +410,23 @@ func handleSrv(sc *serverConn) { delete(sc.huds, cmd.ID) sc.client().SendCmd(cmd) case *mt.ToCltShowFormspec: - reg := regexp.MustCompile("[^a-zA-Z0-9-_.:]") - reg2 := regexp.MustCompile("[a-zA-Z0-9-_.]*\\.[a-zA-Z0-9-_.]+") - subs := reg.Split(cmd.Formspec, -1) - seps := reg.FindAllString(cmd.Formspec, -1) - - for i, sub := range subs { - if reg2.MatchString(sub) && !strings.Contains(sub, " ") { - prepend(sc.name, &subs[i]) - } - } - - cmd.Formspec = "" - for i, sub := range subs { - cmd.Formspec += sub - if i < len(seps) { - cmd.Formspec += seps[i] - } - } - + sc.prependFormspec(&cmd.Formspec) sc.client().SendCmd(cmd) case *mt.ToCltFormspecPrepend: - reg := regexp.MustCompile("[^a-zA-Z0-9-_.:]") - reg2 := regexp.MustCompile("[a-zA-Z0-9-_.]*\\.[a-zA-Z0-9-_.]+") - subs := reg.Split(cmd.Prepend, -1) - seps := reg.FindAllString(cmd.Prepend, -1) - - for i, sub := range subs { - if reg2.MatchString(sub) && !strings.Contains(sub, " ") { - prepend(sc.name, &subs[i]) - } + sc.prependFormspec(&cmd.Prepend) + sc.client().SendCmd(cmd) + case *mt.ToCltInvFormspec: + sc.prependFormspec(&cmd.Formspec) + sc.client().SendCmd(cmd) + case *mt.ToCltMinimapModes: + for i := range cmd.Modes { + prependTexture(sc.name, &cmd.Modes[i].Texture) } - - cmd.Prepend = "" - for i, sub := range subs { - cmd.Prepend += sub - if i < len(seps) { - cmd.Prepend += seps[i] - } + sc.client().SendCmd(cmd) + case *mt.ToCltNodeMetasChanged: + for k := range cmd.Changed { + sc.prependInv(cmd.Changed[k].Inv) } - sc.client().SendCmd(cmd) } } |