diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp index a84747188..07381b473 100644 --- a/src/client/mapblock_mesh.cpp +++ b/src/client/mapblock_mesh.cpp @@ -626,7 +626,7 @@ MapBlockMesh::MapBlockMesh(Client *client, MeshMakeData *data): if (data->m_vmanip.getNodeNoEx(p).getContent() != CONTENT_IGNORE) { MinimapMapblock *block = new MinimapMapblock; m_minimap_mapblocks[mesh_grid.getOffsetIndex(ofs)] = block; - block->getMinimapNodes(&data->m_vmanip, p); + block->getMinimapNodes(&data->m_vmanip, data->m_nodedef, p); } } } diff --git a/src/client/minimap.cpp b/src/client/minimap.cpp index 0d44f9d00..ae6244b93 100644 --- a/src/client/minimap.cpp +++ b/src/client/minimap.cpp @@ -713,9 +713,8 @@ void Minimap::updateActiveMarkers() //// MinimapMapblock //// -void MinimapMapblock::getMinimapNodes(VoxelManipulator *vmanip, const v3s16 &pos) +void MinimapMapblock::getMinimapNodes(VoxelManipulator *vmanip, const NodeDefManager *nodedef, const v3s16 &pos) { - for (s16 x = 0; x < MAP_BLOCKSIZE; x++) for (s16 z = 0; z < MAP_BLOCKSIZE; z++) { s16 air_count = 0; @@ -725,11 +724,12 @@ void MinimapMapblock::getMinimapNodes(VoxelManipulator *vmanip, const v3s16 &pos for (s16 y = MAP_BLOCKSIZE -1; y >= 0; y--) { v3s16 p(x, y, z); MapNode n = vmanip->getNodeNoEx(pos + p); - if (!surface_found && n.getContent() != CONTENT_AIR) { + const ContentFeatures &f = nodedef->get(n); + if (!surface_found && f.drawtype != NDT_AIRLIKE) { mmpixel->height = y; mmpixel->n = n; surface_found = true; - } else if (n.getContent() == CONTENT_AIR) { + } else if (f.drawtype == NDT_AIRLIKE) { air_count++; } } diff --git a/src/client/minimap.h b/src/client/minimap.h index 36c900134..8897f449f 100644 --- a/src/client/minimap.h +++ b/src/client/minimap.h @@ -66,7 +66,7 @@ struct MinimapPixel { }; struct MinimapMapblock { - void getMinimapNodes(VoxelManipulator *vmanip, const v3s16 &pos); + void getMinimapNodes(VoxelManipulator *vmanip, const NodeDefManager *nodedef, const v3s16 &pos); MinimapPixel data[MAP_BLOCKSIZE * MAP_BLOCKSIZE]; };