2019-05-08 16:50:51 +03:00
|
|
|
package mapobject
|
|
|
|
|
|
|
|
import (
|
|
|
|
"mapserver/mapobjectdb"
|
2023-12-29 18:00:11 +03:00
|
|
|
"mapserver/types"
|
2021-10-12 08:44:07 +03:00
|
|
|
|
|
|
|
"github.com/minetest-go/mapparser"
|
2019-05-08 16:50:51 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
type Locator struct{}
|
|
|
|
|
2023-12-29 18:00:11 +03:00
|
|
|
func (this *Locator) onMapObject(mbpos *types.MapBlockCoords, x, y, z int, block *mapparser.MapBlock) *mapobjectdb.MapObject {
|
2019-05-08 16:50:51 +03:00
|
|
|
md := block.Metadata.GetMetadata(x, y, z)
|
|
|
|
nodename := block.GetNodeName(x, y, z)
|
|
|
|
|
|
|
|
var level = "1"
|
|
|
|
switch nodename {
|
|
|
|
case "locator:beacon_2":
|
|
|
|
level = "2"
|
|
|
|
case "locator:beacon_3":
|
|
|
|
level = "3"
|
|
|
|
}
|
|
|
|
|
2021-10-12 08:44:07 +03:00
|
|
|
o := mapobjectdb.NewMapObject(mbpos, x, y, z, "locator")
|
2019-05-08 16:50:51 +03:00
|
|
|
o.Attributes["owner"] = md["owner"]
|
|
|
|
o.Attributes["name"] = md["name"]
|
|
|
|
o.Attributes["active"] = md["active"]
|
|
|
|
o.Attributes["level"] = level
|
|
|
|
|
|
|
|
return o
|
|
|
|
}
|