diff --git a/dev/tests/base_entities.lua b/dev/tests/base_entities.lua new file mode 100644 index 000000000..ccabe8598 --- /dev/null +++ b/dev/tests/base_entities.lua @@ -0,0 +1,24 @@ +local util = require("core:tests_util") + +-- Create world and prepare settings +util.create_demo_world("core:default") +app.set_setting("chunks.load-distance", 3) +app.set_setting("chunks.load-speed", 1) + +-- Create player +local pid = player.create("Xerxes") +player.set_spawnpoint(pid, 0, 100, 0) +player.set_pos(pid, 0, 100, 0) + +-- Wait for chunk to load +app.sleep_until(function () return block.get(0, 0, 0) ~= -1 end) + +-- Place a falling block +block.place(0, 2, 0, block.index("base:sand"), 0, pid) +app.tick() + +-- Check if the block is falling +assert(block.get(0, 100, 0) == 0) + +-- Wait for the block to fall +app.sleep_until(function () return block.get(0, 1, 0) == block.index("base:sand") end, 100) diff --git a/dev/tests/chunks.lua b/dev/tests/chunks.lua index 1bab108fc..018493e7c 100644 --- a/dev/tests/chunks.lua +++ b/dev/tests/chunks.lua @@ -1,9 +1,9 @@ +local util = require("core:tests_util") +util.create_demo_world() + app.set_setting("chunks.load-distance", 3) app.set_setting("chunks.load-speed", 1) -app.reconfig_packs({"base"}, {}) -app.new_world("demo", "2019", "core:default") - local pid1 = player.create("Xerxes") assert(player.get_name(pid1) == "Xerxes") diff --git a/res/modules/tests_util.lua b/res/modules/tests_util.lua new file mode 100644 index 000000000..ef6a5d2ec --- /dev/null +++ b/res/modules/tests_util.lua @@ -0,0 +1,8 @@ +local util = {} + +function util.create_demo_world(generator) + app.reconfig_packs({"base"}, {}) + app.new_world("demo", "2019", generator or "core:default") +end + +return util