From: Elias Fleckenstein Date: Sat, 16 Jul 2022 21:11:29 +0000 (+0200) Subject: Don't serialize unnecessary special node id mappings X-Git-Tag: v0.2.6 X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=49ab7f5232167cdd6115ae481e614b01bcc1371d;p=mtmap.git Don't serialize unnecessary special node id mappings --- diff --git a/serialize.go b/serialize.go index 1d1ea42..85f1b28 100644 --- a/serialize.go +++ b/serialize.go @@ -158,11 +158,7 @@ func Serialize(blk *MapBlk, w io.Writer, nameIdMap map[mt.Content]string) { panic(err) } - var localNameIdMap = map[mt.Content]string{ - mt.Unknown: "unknown", - mt.Air: "air", - mt.Ignore: "ignore", - } + var localNameIdMap = make(map[mt.Content]string) for i := 0; i < 4096; i++ { id := blk.Param0[i] @@ -170,9 +166,21 @@ func Serialize(blk *MapBlk, w io.Writer, nameIdMap map[mt.Content]string) { continue } - name, ok := nameIdMap[id] - if !ok { - panic(ErrInvalidNodeId{id}) + var name string + var ok bool + + switch id { + case mt.Unknown: + name = "unknown" + case mt.Air: + name = "air" + case mt.Ignore: + name = "ignore" + default: + name, ok = nameIdMap[id] + if !ok { + panic(ErrInvalidNodeId{id}) + } } localNameIdMap[id] = name