1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Craftitem aliases

This commit is contained in:
Perttu Ahola 2011-12-04 00:39:20 +02:00
parent 8730dfb1f9
commit 829c632511
5 changed files with 80 additions and 996 deletions

View file

@ -1158,6 +1158,24 @@ static int l_alias_tool(lua_State *L)
return 0; /* number of results */
}
// alias_craftitem(name, convert_to_name)
static int l_alias_craftitem(lua_State *L)
{
std::string name = luaL_checkstring(L, 1);
std::string convert_to = luaL_checkstring(L, 2);
// Get server from registry
lua_getfield(L, LUA_REGISTRYINDEX, "minetest_server");
Server *server = (Server*)lua_touserdata(L, -1);
// And get the writable CraftItem definition manager from the server
IWritableCraftItemDefManager *craftitemdef =
server->getWritableCraftItemDefManager();
craftitemdef->setAlias(name, convert_to);
return 0; /* number of results */
}
// register_craft({output=item, recipe={{item00,item10},{item01,item11}})
static int l_register_craft(lua_State *L)
{
@ -1312,6 +1330,7 @@ static const struct luaL_Reg minetest_f [] = {
{"register_abm", l_register_abm},
{"alias_node", l_alias_node},
{"alias_tool", l_alias_tool},
{"alias_craftitem", l_alias_craftitem},
{"setting_get", l_setting_get},
{"setting_getbool", l_setting_getbool},
{"chat_send_all", l_chat_send_all},