diff --git a/doc/lua_api.md b/doc/lua_api.md index 28446ac4d..abff26a9d 100644 --- a/doc/lua_api.md +++ b/doc/lua_api.md @@ -6454,6 +6454,7 @@ This allows you easy interoperability for delegating work to jobs. ### List of APIs available in an async environment Classes: +* `AreaStore` * `ItemStack` * `PerlinNoise` * `PerlinNoiseMap` diff --git a/games/devtest/mods/unittests/inside_async_env.lua b/games/devtest/mods/unittests/inside_async_env.lua index 4ed0fccd2..cc661c38c 100644 --- a/games/devtest/mods/unittests/inside_async_env.lua +++ b/games/devtest/mods/unittests/inside_async_env.lua @@ -10,6 +10,9 @@ local function do_tests() assert(not core.object_refs) -- stuff that should be here assert(ItemStack) + local meta = ItemStack():get_meta() + assert(type(meta) == "userdata") + assert(type(meta.set_tool_capabilities) == "function") assert(core.registered_items[""]) -- alias handling assert(core.registered_items["unittests:steel_ingot_alias"].name == diff --git a/src/script/scripting_server.cpp b/src/script/scripting_server.cpp index 644d5e347..b7114c7ab 100644 --- a/src/script/scripting_server.cpp +++ b/src/script/scripting_server.cpp @@ -174,6 +174,8 @@ void ServerScripting::InitializeModApi(lua_State *L, int top) void ServerScripting::InitializeAsync(lua_State *L, int top) { // classes + ItemStackMetaRef::Register(L); + LuaAreaStore::Register(L); LuaItemStack::Register(L); LuaPerlinNoise::Register(L); LuaPerlinNoiseMap::Register(L);