diff --git a/server/coords/tileconvert.go b/server/coords/tileconvert.go index 631f7db..3e8b743 100644 --- a/server/coords/tileconvert.go +++ b/server/coords/tileconvert.go @@ -12,19 +12,13 @@ const ( func GetTileCoordsFromMapBlock(mbc *MapBlockCoords, layers []*layer.Layer) *TileCoords { tc := TileCoords{X: mbc.X, Y: (mbc.Z + 1) * -1, Zoom: MAX_ZOOM} - var layerid *int - for _, l := range layers { - if mbc.Y >= l.From && mbc.Y <= l.To { - layerid = &l.Id - break - } - } + currentLayer := layer.FindLayerByY(layers, mbc.Y) - if layerid == nil { + if currentLayer == nil { return nil } - tc.LayerId = *layerid + tc.LayerId = currentLayer.Id return &tc } diff --git a/server/mapblockaccessor/mtime.go b/server/mapblockaccessor/mtime.go index 75b797e..d0a5cb0 100644 --- a/server/mapblockaccessor/mtime.go +++ b/server/mapblockaccessor/mtime.go @@ -50,15 +50,9 @@ func (a *MapBlockAccessor) FindMapBlocksByMtime(lastmtime int64, limit int, laye result.LastMtime = block.Mtime } - inLayer := false - for _, l := range layerfilter { - if block.Pos.Y >= l.From && block.Pos.Y <= l.To { - inLayer = true - break - } - } + currentLayer := layer.FindLayerByY(layerfilter, block.Pos.Y) - if !inLayer { + if currentLayer == nil { continue }