summaryrefslogtreecommitdiff
path: root/deserialize.go
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2022-07-16 23:07:41 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2022-07-16 23:07:41 +0200
commit2f0d89c5cfb101bccf7bbe8be1b070ce2a4fee4c (patch)
tree8fee5625cf7b70e9454308135051783b863fe096 /deserialize.go
parent647540796a50b8bbf93008def8a3a082fefa07fd (diff)
downloadmtmap-2f0d89c5cfb101bccf7bbe8be1b070ce2a4fee4c.tar.xz
Properly serialize special node id mappingsv0.2.5
Diffstat (limited to 'deserialize.go')
-rw-r--r--deserialize.go20
1 files changed, 14 insertions, 6 deletions
diff --git a/deserialize.go b/deserialize.go
index e055348..78b9ea2 100644
--- a/deserialize.go
+++ b/deserialize.go
@@ -247,19 +247,27 @@ func Deserialize(r io.Reader, idNameMap map[string]mt.Content) *MapBlk {
for i := 0; i < 4096; i++ {
id := blk.Param0[i]
- if isSpecial(id) {
- continue
- }
name, ok := nameIdMap[id]
if !ok {
panic(ErrInvalidNodeId{id})
}
- blk.Param0[i], ok = idNameMap[name]
- if !ok {
- panic(ErrInvalidNodeName{name})
+ switch name {
+ case "unknown":
+ id = mt.Unknown
+ case "air":
+ id = mt.Air
+ case "ignore":
+ id = mt.Ignore
+ default:
+ id, ok = idNameMap[name]
+ if !ok {
+ panic(ErrInvalidNodeName{name})
+ }
}
+
+ blk.Param0[i] = id
}
return blk