From 4487b802f557096fc0669e1cb24c1fc6ef9bfde7 Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Wed, 11 May 2022 22:00:01 +0200 Subject: [PATCH] Add hang_emerge_fix mod --- hang_emerge_fix/init.lua | 20 ++++++++++++++++++++ hang_emerge_fix/mod.conf | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 hang_emerge_fix/init.lua create mode 100644 hang_emerge_fix/mod.conf diff --git a/hang_emerge_fix/init.lua b/hang_emerge_fix/init.lua new file mode 100644 index 0000000..90b29a8 --- /dev/null +++ b/hang_emerge_fix/init.lua @@ -0,0 +1,20 @@ +local minetest_emerge_area = minetest.emerge_area +minetest.emerge_area = function(minp, maxp, ...) + if + minp.x >= 32767 or minp.x <= -32768 or + minp.y >= 32767 or minp.y <= -32768 or + minp.z >= 32767 or minp.z <= -32768 or + maxp.x >= 32767 or maxp.x <= -32768 or + maxp.y >= 32767 or maxp.y <= -32768 or + maxp.z >= 32767 or maxp.z <= -32768 + then + minetest.log( + "warning", + "minetest.emerge_area() called with coords outside interval (-32768, 32767), skipping: " .. + "minp { x=" .. minp.x .. ", y=" .. minp.y .. " z=" .. minp.z .. " } " .. + "maxp { x=" .. maxp.x .. ", y=" .. maxp.y .. " z=" .. maxp.z .. " } " + ) + else + return minetest.emerge_area(minp, maxp, ...) + end +end diff --git a/hang_emerge_fix/mod.conf b/hang_emerge_fix/mod.conf new file mode 100644 index 0000000..8f098eb --- /dev/null +++ b/hang_emerge_fix/mod.conf @@ -0,0 +1,2 @@ +name = hang_emerge_fix +description = Fix for minetest.emerge_area() hang