summaryrefslogtreecommitdiff
path: root/src/itemdef.cpp
diff options
context:
space:
mode:
authorpaly2 <plangrognet@laposte.net>2016-07-10 15:15:43 +0200
committerkwolekr <kwolekr@minetest.net>2016-09-08 03:26:52 -0400
commitaa33166386f737f213f1f3005ffd6a6adfd2d97f (patch)
tree6ddbec97ff34fd231a7cb23e70d1dc7dce6049cb /src/itemdef.cpp
parent7eacdc7bb8ec8f8b06b5e0b2464af219e623cd56 (diff)
downloadminetest-aa33166386f737f213f1f3005ffd6a6adfd2d97f.tar.gz
minetest-aa33166386f737f213f1f3005ffd6a6adfd2d97f.tar.bz2
minetest-aa33166386f737f213f1f3005ffd6a6adfd2d97f.zip
Add minetest.unregister_item and minetest.register_alias_force
Diffstat (limited to 'src/itemdef.cpp')
-rw-r--r--src/itemdef.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/itemdef.cpp b/src/itemdef.cpp
index a618ad631..a6c627a03 100644
--- a/src/itemdef.cpp
+++ b/src/itemdef.cpp
@@ -466,11 +466,17 @@ public:
infostream<<"ItemDefManager: erased alias "<<def.name
<<" because item was defined"<<std::endl;
}
+ virtual void unregisterItem(const std::string &name)
+ {
+ verbosestream<<"ItemDefManager: unregistering \""<<name<<"\""<<std::endl;
+
+ delete m_item_definitions[name];
+ m_item_definitions.erase(name);
+ }
virtual void registerAlias(const std::string &name,
const std::string &convert_to)
{
- if(m_item_definitions.find(name) == m_item_definitions.end())
- {
+ if (m_item_definitions.find(name) == m_item_definitions.end()) {
verbosestream<<"ItemDefManager: setting alias "<<name
<<" -> "<<convert_to<<std::endl;
m_aliases[name] = convert_to;