diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-07-16 23:11:29 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-07-16 23:11:29 +0200 |
commit | 49ab7f5232167cdd6115ae481e614b01bcc1371d (patch) | |
tree | e8fb9d09b5d4cfd6e3a378de34ff2159dca792c7 /serialize.go | |
parent | 2f0d89c5cfb101bccf7bbe8be1b070ce2a4fee4c (diff) | |
download | mtmap-49ab7f5232167cdd6115ae481e614b01bcc1371d.tar.xz |
Don't serialize unnecessary special node id mappingsv0.2.6
Diffstat (limited to 'serialize.go')
-rw-r--r-- | serialize.go | 24 |
1 files 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 |