From 43ecc7d7cb44e91fa3d5601e91e79e6f2bb90a27 Mon Sep 17 00:00:00 2001 From: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com> Date: Mon, 13 Apr 2020 19:57:04 +0200 Subject: [PATCH] save owner from bones partially attends to https://github.com/minetest-mapserver/mapserver/issues/72 --- bones.lua | 20 ++++++++++++++++++++ init.lua | 4 ++++ mod.conf | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 bones.lua diff --git a/bones.lua b/bones.lua new file mode 100644 index 0000000..142125c --- /dev/null +++ b/bones.lua @@ -0,0 +1,20 @@ +-- bones owner saving workaround +-- https://github.com/minetest/minetest_game/blob/master/mods/bones/init.lua#L120 + +local bones_def = minetest.registered_items["bones:bones"] +assert(bones_def) + +local bones_on_timer = bones_def.on_timer +assert(bones_on_timer) +assert(type(bones_on_timer) == "function") + +minetest.override_item("bones:bones", { + on_timer = function(pos, elapsed) + -- save owner in separate field + local meta = minetest.get_meta(pos) + meta:set_string("_owner", meta:get_string("owner")) + + -- call original function + bones_on_timer(pos, elapsed) + end +}) diff --git a/init.lua b/init.lua index f4c249c..5f5af2d 100644 --- a/init.lua +++ b/init.lua @@ -17,6 +17,10 @@ dofile(MP.."/privs.lua") dofile(MP.."/show_waypoint.lua") dofile(MP.."/search.lua") +if minetest.get_modpath("bones") then + dofile(MP.."/bones.lua") +end + -- optional mapserver-bridge stuff below local http = minetest.request_http_api() diff --git a/mod.conf b/mod.conf index 76046d8..aff3949 100644 --- a/mod.conf +++ b/mod.conf @@ -1,3 +1,3 @@ name = mapserver description = Mod for the mapserver. -optional_depends = default, dye, advtrains, minecart, monitoring +optional_depends = default, dye, advtrains, minecart, monitoring, bones -- GitLab