mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add minetest.unregister_item and minetest.register_alias_force
This commit is contained in:
parent
7eacdc7bb8
commit
aa33166386
8 changed files with 121 additions and 3 deletions
|
@ -525,6 +525,27 @@ int ModApiItemMod::l_register_item_raw(lua_State *L)
|
|||
return 0; /* number of results */
|
||||
}
|
||||
|
||||
// unregister_item(name)
|
||||
int ModApiItemMod::l_unregister_item_raw(lua_State *L)
|
||||
{
|
||||
NO_MAP_LOCK_REQUIRED;
|
||||
std::string name = luaL_checkstring(L, 1);
|
||||
|
||||
IWritableItemDefManager *idef =
|
||||
getServer(L)->getWritableItemDefManager();
|
||||
|
||||
// Unregister the node
|
||||
if (idef->get(name).type == ITEM_NODE) {
|
||||
IWritableNodeDefManager *ndef =
|
||||
getServer(L)->getWritableNodeDefManager();
|
||||
ndef->removeNode(name);
|
||||
}
|
||||
|
||||
idef->unregisterItem(name);
|
||||
|
||||
return 0; /* number of results */
|
||||
}
|
||||
|
||||
// register_alias_raw(name, convert_to_name)
|
||||
int ModApiItemMod::l_register_alias_raw(lua_State *L)
|
||||
{
|
||||
|
@ -570,6 +591,7 @@ int ModApiItemMod::l_get_name_from_content_id(lua_State *L)
|
|||
void ModApiItemMod::Initialize(lua_State *L, int top)
|
||||
{
|
||||
API_FCT(register_item_raw);
|
||||
API_FCT(unregister_item_raw);
|
||||
API_FCT(register_alias_raw);
|
||||
API_FCT(get_content_id);
|
||||
API_FCT(get_name_from_content_id);
|
||||
|
|
|
@ -135,6 +135,7 @@ public:
|
|||
class ModApiItemMod : public ModApiBase {
|
||||
private:
|
||||
static int l_register_item_raw(lua_State *L);
|
||||
static int l_unregister_item_raw(lua_State *L);
|
||||
static int l_register_alias_raw(lua_State *L);
|
||||
static int l_get_content_id(lua_State *L);
|
||||
static int l_get_name_from_content_id(lua_State *L);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue