From ed6b514057b7f8b8ed30c4b6e7a003d630361740 Mon Sep 17 00:00:00 2001 From: Desour Date: Sun, 5 Sep 2021 00:01:16 +0200 Subject: [PATCH] Make vector.zero callable This is needed to keep compatibility with new minetest builtin code --- init.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 2b4e69b..14563d1 100644 --- a/init.lua +++ b/init.lua @@ -334,7 +334,16 @@ function funcs.straightdelay(s, v, a) return (math.sqrt(v*v+2*a*s)-v)/a end -vector.zero = vector.new() +-- override vector.zero +-- builtin used not to have the vector.zero function. to keep compatibility, +-- vector.zero has to be a 0-vector and vector.zero() has to return a 0-vector +-- => we make a callable 0-vector table +if not vector.zero then + vector.zero = {x = 0, y = 0, z = 0} +else + local old_zero = vector.zero + vector.zero = setmetatable({x = 0, y = 0, z = 0}, {__call = old_zero}) +end function funcs.sun_dir(time) if not time then