From 49ab7f5232167cdd6115ae481e614b01bcc1371d Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sat, 16 Jul 2022 23:11:29 +0200 Subject: [PATCH] Don't serialize unnecessary special node id mappings --- serialize.go | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) 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 -- 2.44.0