Skip to content

Commit cd3a42c

Browse files
authored
Fix deprecated function calls (#104)
* Calls to `ObjectRef:moveto()` (Replaced by `ObjectRef:add_pos()` or `ObjectRef:move_to()` depending on engine version) * Calls to `ObjectRef:setyaw()` (Replaced by `ObjectRef:set_yaw()`) * Calling `MetaDataRef:set_string()` with `nil` as the second parameter (Replaced by `""`)
1 parent c97db07 commit cd3a42c

File tree

4 files changed

+28
-13
lines changed

4 files changed

+28
-13
lines changed

nodes/node_axle.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ minetest.register_node("digtron:axle", {
6565
minetest.sound_play("whirr", {gain=1.0, pos=pos})
6666
meta = minetest.get_meta(pos)
6767
meta:set_string("waiting", "true")
68-
meta:set_string("infotext", nil)
68+
meta:set_string("infotext", "")
6969
-- minetest.get_node_timer(pos):start(digtron.config.cycle_time*2)
7070
-- new delay code
7171
meta:set_string("last_time",tostring(minetest.get_gametime()))
@@ -79,6 +79,6 @@ minetest.register_node("digtron:axle", {
7979
end,
8080

8181
on_timer = function(pos)
82-
minetest.get_meta(pos):set_string("waiting", nil)
82+
minetest.get_meta(pos):set_string("waiting", "")
8383
end,
8484
})

nodes/node_controllers.lua

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ minetest.register_node("digtron:controller", {
8585
end,
8686

8787
on_timer = function(pos)
88-
minetest.get_meta(pos):set_string("waiting", nil)
88+
minetest.get_meta(pos):set_string("waiting", "")
8989
end,
9090
})
9191

@@ -184,7 +184,7 @@ local function auto_cycle(pos)
184184
meta:set_int("cycles", cycle)
185185
status = status .. "\n" .. S("Cycles remaining: @1", cycle)
186186
meta:set_string("infotext", status)
187-
meta:set_string("lateral_done", nil)
187+
meta:set_string("lateral_done", "")
188188

189189
if cycle > 0 then
190190
minetest.after(meta:get_int("period"), auto_cycle, newpos)
@@ -278,8 +278,8 @@ minetest.register_node("digtron:auto_controller", {
278278
if sender:is_player() and cycles > 0 then
279279
meta:set_string("triggering_player", sender:get_player_name())
280280
if fields.execute then
281-
meta:set_string("waiting", nil)
282-
meta:set_string("formspec", nil)
281+
meta:set_string("waiting", "")
282+
meta:set_string("formspec", "")
283283
auto_cycle(pos)
284284
end
285285
end
@@ -366,6 +366,6 @@ minetest.register_node("digtron:pusher", {
366366
end,
367367

368368
on_timer = function(pos)
369-
minetest.get_meta(pos):set_string("waiting", nil)
369+
minetest.get_meta(pos):set_string("waiting", "")
370370
end,
371371
})

util.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -417,14 +417,14 @@ digtron.show_offset_markers = function(pos, offset, period)
417417
local z_pos = math.floor((buildpos.z+offset)/period)*period - offset
418418

419419
local entity = safe_add_entity({x=buildpos.x, y=buildpos.y, z=z_pos}, "digtron:marker")
420-
if entity ~= nil then entity:setyaw(1.5708) end
420+
if entity ~= nil then entity:set_yaw(1.5708) end
421421

422422
if z_pos >= buildpos.z then
423423
entity = safe_add_entity({x=buildpos.x, y=buildpos.y, z=z_pos - period}, "digtron:marker")
424-
if entity ~= nil then entity:setyaw(1.5708) end
424+
if entity ~= nil then entity:set_yaw(1.5708) end
425425
end
426426
if z_pos <= buildpos.z then
427427
entity = safe_add_entity({x=buildpos.x, y=buildpos.y, z=z_pos + period}, "digtron:marker")
428-
if entity ~= nil then entity:setyaw(1.5708) end
428+
if entity ~= nil then entity:set_yaw(1.5708) end
429429
end
430430
end

util_execute_cycle.lua

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,21 @@ local function check_digtron_size(layout)
102102
end
103103
end
104104

105+
-- :add_pos(...) is available on 2024-01-05 since Minetest 5.9.0-dev, commit d0753ddd
106+
-- random_state_restore is introduced on 2024-01-17 in commit ceaa7e2
107+
-- This is the simpliest way to detect the version we need
108+
-- Since we cannoty access ObjectRef before we get one
109+
local add_object_pos
110+
if minetest.features.random_state_restore then
111+
add_object_pos = function(object, dir)
112+
object:add_pos(dir)
113+
end
114+
else
115+
add_object_pos = function(object, dir)
116+
object:move_to(vector.add(dir, object:get_pos()), true)
117+
end
118+
end
119+
105120
-- returns newpos, status string, and a return code indicating why the method returned (so the auto-controller can keep trying if it's due to unloaded nodes)
106121
-- 0 - success
107122
-- 1 - failed due to unloaded nodes
@@ -325,7 +340,7 @@ digtron.execute_dig_cycle = function(pos, clicker)
325340
pos = vector.add(pos, dir)
326341
meta = minetest.get_meta(pos)
327342
if move_player then
328-
clicker:moveto(vector.add(dir, clicker:get_pos()), true)
343+
add_object_pos(clicker, dir)
329344
end
330345

331346
-- store or drop the products of the digger heads
@@ -464,7 +479,7 @@ digtron.execute_move_cycle = function(pos, clicker)
464479

465480
pos = vector.add(pos, dir)
466481
if move_player then
467-
clicker:moveto(vector.add(clicker:get_pos(), dir), true)
482+
add_object_pos(clicker, dir)
468483
end
469484
return pos, "", 0
470485
end
@@ -584,7 +599,7 @@ digtron.execute_downward_dig_cycle = function(pos, clicker)
584599
pos = vector.add(pos, dir)
585600
meta = minetest.get_meta(pos)
586601
if move_player then
587-
clicker:moveto(vector.add(clicker:get_pos(), dir), true)
602+
add_object_pos(clicker, dir)
588603
end
589604

590605
-- store or drop the products of the digger heads

0 commit comments

Comments
 (0)