Fix loading of legacy MaterialItems (was loaded as a quite random type)

This commit is contained in:
Perttu Ahola 2011-12-01 12:50:32 +02:00
parent 146be1f0b6
commit 3509714951
1 changed files with 5 additions and 2 deletions

View File

@ -36,6 +36,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "gamedef.h"
#include "scriptapi.h"
#include "strfnd.h"
#include "nameidmapping.h" // For loading legacy MaterialItems
/*
InventoryItem
@ -250,8 +251,10 @@ MaterialItem::MaterialItem(IGameDef *gamedef, std::string nodename, u16 count):
MaterialItem::MaterialItem(IGameDef *gamedef, content_t content, u16 count):
InventoryItem(gamedef, count)
{
INodeDefManager *ndef = m_gamedef->ndef();
std::string nodename = ndef->get(content).name;
NameIdMapping legacy_nimap;
content_mapnode_get_name_id_mapping(&legacy_nimap);
std::string nodename;
legacy_nimap.getName(content, nodename);
if(nodename == "")
nodename = "unknown_block";
m_nodename = nodename;