From 12521b7e4730e1e8cb61fccf1cbb714b8cfc9ed3 Mon Sep 17 00:00:00 2001 From: NatureFreshMilk Date: Tue, 29 Jan 2019 08:21:48 +0100 Subject: [PATCH] mission block --- server/mapobject/mission.go | 22 ++++++++++++++++++++++ server/mapobject/setup.go | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 server/mapobject/mission.go diff --git a/server/mapobject/mission.go b/server/mapobject/mission.go new file mode 100644 index 0000000..4667b4f --- /dev/null +++ b/server/mapobject/mission.go @@ -0,0 +1,22 @@ +package mapobject + +import ( + "mapserver/mapblockparser" + "mapserver/mapobjectdb" +) + +type MissionBlock struct{} + +func (this *MissionBlock) onMapObject(x, y, z int, block *mapblockparser.MapBlock) *mapobjectdb.MapObject { + md := block.Metadata.GetMetadata(x, y, z) + + o := mapobjectdb.NewMapObject(&block.Pos, x, y, z, "mission") + o.Attributes["name"] = md["name"] + o.Attributes["time"] = md["time"] + o.Attributes["owner"] = md["owner"] + o.Attributes["description"] = md["description"] + o.Attributes["successcount"] = md["successcount"] + o.Attributes["failcount"] = md["failcount"] + + return o +} diff --git a/server/mapobject/setup.go b/server/mapobject/setup.go index 47025e3..9f2d367 100644 --- a/server/mapobject/setup.go +++ b/server/mapobject/setup.go @@ -87,5 +87,8 @@ func Setup(ctx *app.App) { //digilines l.AddMapObject("digilines:lcd", &DigilineLcdBlock{}) + //missions + l.AddMapObject("missions:mission", &MissionBlock{}) + ctx.BlockAccessor.Eventbus.AddListener(&l) }