mirror of
https://github.com/luanti-org/luanti.git
synced 2025-09-15 18:57:08 +00:00
Lua on each mapgen thread (#13092)
This commit is contained in:
parent
d4b107e2e8
commit
3cac17d23e
32 changed files with 1329 additions and 193 deletions
32
games/devtest/mods/unittests/inside_mapgen_env.lua
Normal file
32
games/devtest/mods/unittests/inside_mapgen_env.lua
Normal file
|
@ -0,0 +1,32 @@
|
|||
core.log("info", "Hello World")
|
||||
|
||||
local function do_tests()
|
||||
assert(core == minetest)
|
||||
-- stuff that should not be here
|
||||
assert(not core.get_player_by_name)
|
||||
assert(not core.object_refs)
|
||||
-- stuff that should be here
|
||||
assert(core.register_on_generated)
|
||||
assert(core.get_node)
|
||||
assert(core.spawn_tree)
|
||||
assert(ItemStack)
|
||||
local meta = ItemStack():get_meta()
|
||||
assert(type(meta) == "userdata")
|
||||
assert(type(meta.set_tool_capabilities) == "function")
|
||||
assert(core.registered_items[""])
|
||||
assert(core.save_gen_notify)
|
||||
-- alias handling
|
||||
assert(core.registered_items["unittests:steel_ingot_alias"].name ==
|
||||
"unittests:steel_ingot")
|
||||
-- fallback to item defaults
|
||||
assert(core.registered_items["unittests:description_test"].on_place == true)
|
||||
end
|
||||
|
||||
-- there's no (usable) communcation path between mapgen and the regular env
|
||||
-- so we just run the test unconditionally
|
||||
do_tests()
|
||||
|
||||
core.register_on_generated(function(vm, pos1, pos2, blockseed)
|
||||
local n = tonumber(core.get_mapgen_setting("chunksize")) * 16 - 1
|
||||
assert(pos2:subtract(pos1) == vector.new(n, n, n))
|
||||
end)
|
Loading…
Add table
Add a link
Reference in a new issue