From 829c632511a99ceed423e72d1ff7b7644f121be1 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 4 Dec 2011 00:39:20 +0200 Subject: Craftitem aliases --- src/craftitemdef.cpp | 47 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 7 deletions(-) (limited to 'src/craftitemdef.cpp') diff --git a/src/craftitemdef.cpp b/src/craftitemdef.cpp index b8f9d1d79..622c5c65f 100644 --- a/src/craftitemdef.cpp +++ b/src/craftitemdef.cpp @@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "log.h" #include #include "utility.h" +#include CraftItemDefinition::CraftItemDefinition(): imagename(""), @@ -102,14 +103,14 @@ public: virtual bool registerCraftItem(std::string itemname, const CraftItemDefinition &def) { infostream<<"registerCraftItem: registering CraftItem \""<::Node *n; - n = m_item_definitions.find(itemname); - if(n != NULL){ - errorstream<<"registerCraftItem: registering item \""<getValue(); } m_item_definitions.clear(); + m_aliases.clear(); + } + virtual void setAlias(const std::string &name, + const std::string &convert_to) + { + if(getCraftItemDefinition(name) != NULL){ + infostream<<"nidef: not setting alias "< "< "<serialize(tmp_os); os<::const_iterator + i = m_aliases.begin(); i != m_aliases.end(); i++) + { + os<first); + os<second); + } } virtual void deSerialize(std::istream &is) { @@ -158,10 +180,21 @@ public: // Register registerCraftItem(name, def); } + + u16 num_aliases = readU16(is); + if(!is.eof()){ + for(u16 i=0; i m_item_definitions; + // Aliases + std::map m_aliases; }; IWritableCraftItemDefManager* createCraftItemDefManager() -- cgit v1.2.3