Skip to content

Commit 438b894

Browse files
committed
Add min_minetest_version = 5.5 and error out on older versions
But provide fallback to run with default mods that don't have set_inventory_action_loggers.
1 parent 5c3330a commit 438b894

File tree

4 files changed

+22
-16
lines changed

4 files changed

+22
-16
lines changed

init.lua

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@ digtron.auto_controller_colorize = "#88000030"
66
digtron.pusher_controller_colorize = "#00880030"
77
digtron.soft_digger_colorize = "#88880030"
88

9+
if not vector.copy then
10+
error("[digtron] Your Luanti/Minetest version is too old. Please update to 5.5.0 or newer.")
11+
end
12+
13+
digtron.set_inventory_action_loggers = function(def, name)
14+
default.set_inventory_action_loggers(def, name)
15+
return def
16+
end
17+
18+
if not default.set_inventory_action_loggers then
19+
minetest.log("error", "[digtron] Your Minetest Game (default mod) version seems very old. Digtron may not work correctly. Please consider updating to a current version.")
20+
21+
digtron.set_inventory_action_loggers = function(def)
22+
return def
23+
end
24+
end
25+
926
-- A global dictionary is used here so that other substitutions can be added easily by other mods, if necessary
1027
digtron.builder_read_item_substitutions = {
1128
["default:torch_ceiling"] = "default:torch",

mod.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ optional_depends = pipeworks, doc, hopper, awards, catacomb, intllib, technic
77
license = MIT, LGPL 2.1 or later
88
forum = https://forum.minetest.net/viewtopic.php?t=16295
99
version = 0.8
10+
min_minetest_version = 5.5

nodes/node_battery_holder.lua

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,4 @@ local def = {
115115
after_dig_node = (function() if minetest.get_modpath("pipeworks")then return pipeworks.after_dig end end)()
116116
}
117117

118-
default.set_inventory_action_loggers(def, "digtron battery holder")
119-
120-
minetest.register_node("digtron:battery_holder", def)
118+
minetest.register_node("digtron:battery_holder", digtron.set_inventory_action_loggers(def))

nodes/node_storage.lua

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,6 @@ local S = digtron.S
55

66
local pipeworks_path = minetest.get_modpath("pipeworks")
77

8-
---Apply `default.set_inventory_action_loggers` onto the given `def` table
9-
---@see default.set_inventory_action_loggers
10-
---@param def table
11-
---@param name string
12-
---@return table def
13-
local function set_logger(def, name)
14-
default.set_inventory_action_loggers(def, name)
15-
return def
16-
end
17-
188
local inventory_formspec_string =
199
"size[8,9.3]" ..
2010
default.gui_bg ..
@@ -34,7 +24,7 @@ end
3424

3525
-- Storage buffer. Builder nodes draw from this inventory and digger nodes deposit into it.
3626
-- Note that inventories are digtron group 2.
37-
minetest.register_node("digtron:inventory", set_logger({
27+
minetest.register_node("digtron:inventory", digtron.set_inventory_action_loggers({
3828
description = S("Digtron Inventory Storage"),
3929
_doc_items_longdesc = digtron.doc.inventory_longdesc,
4030
_doc_items_usagehelp = digtron.doc.inventory_usagehelp,
@@ -121,7 +111,7 @@ end
121111

122112
-- Fuel storage. Controller node draws fuel from here.
123113
-- Note that fuel stores are digtron group 5.
124-
minetest.register_node("digtron:fuelstore", set_logger({
114+
minetest.register_node("digtron:fuelstore", digtron.set_inventory_action_loggers({
125115
description = S("Digtron Fuel Storage"),
126116
_doc_items_longdesc = digtron.doc.fuelstore_longdesc,
127117
_doc_items_usagehelp = digtron.doc.fuelstore_usagehelp,
@@ -227,7 +217,7 @@ local combined_storage_formspec = function()
227217
end
228218

229219
-- Combined storage. Group 6 has both an inventory and a fuel store
230-
minetest.register_node("digtron:combined_storage", set_logger({
220+
minetest.register_node("digtron:combined_storage", digtron.set_inventory_action_loggers({
231221
description = S("Digtron Combined Storage"),
232222
_doc_items_longdesc = digtron.doc.combined_storage_longdesc,
233223
_doc_items_usagehelp = digtron.doc.combined_storage_usagehelp,

0 commit comments

Comments
 (0)