summaryrefslogtreecommitdiff
path: root/serialize.go
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2022-07-16 23:11:29 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2022-07-16 23:11:29 +0200
commit49ab7f5232167cdd6115ae481e614b01bcc1371d (patch)
treee8fb9d09b5d4cfd6e3a378de34ff2159dca792c7 /serialize.go
parent2f0d89c5cfb101bccf7bbe8be1b070ce2a4fee4c (diff)
downloadmtmap-49ab7f5232167cdd6115ae481e614b01bcc1371d.tar.xz
Don't serialize unnecessary special node id mappingsv0.2.6
Diffstat (limited to 'serialize.go')
-rw-r--r--serialize.go24
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