1
0
forked from MTSR/mapserver
mapserver/mapobject/bones.go

34 lines
680 B
Go
Raw Normal View History

2019-01-29 09:47:53 +03:00
package mapobject
import (
"mapserver/mapblockparser"
"mapserver/mapobjectdb"
2019-12-01 13:35:16 +03:00
"strconv"
2019-01-29 09:47:53 +03:00
)
type BonesBlock struct{}
func (this *BonesBlock) onMapObject(x, y, z int, block *mapblockparser.MapBlock) *mapobjectdb.MapObject {
md := block.Metadata.GetMetadata(x, y, z)
if md["owner"] == "" {
return nil
}
2019-02-06 10:38:08 +03:00
o := mapobjectdb.NewMapObject(block.Pos, x, y, z, "bones")
2019-01-29 09:47:53 +03:00
o.Attributes["time"] = md["time"]
o.Attributes["owner"] = md["owner"]
2019-12-01 13:35:16 +03:00
invMap := block.Metadata.GetInventoryMapAtPos(x, y, z)
mainInv := invMap["main"]
itemCount := 0
for _, item := range mainInv.Items {
itemCount += item.Count
}
o.Attributes["item_count"] = strconv.Itoa(itemCount)
2019-01-29 09:47:53 +03:00
return o
}