Skip to content

Commit 56aa51e

Browse files
committed
Add code for controller and builder
1 parent 3af5eba commit 56aa51e

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

nodes/node_builders.lua

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,11 @@ minetest.register_node("digtron:builder", {
259259
digtron.update_builder_item(pos)
260260
end,
261261

262-
allow_metadata_inventory_put = function(pos, listname, index, stack)
262+
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
263+
if digtron.check_protected_and_record(pos, player) then
264+
return 0
265+
end
266+
263267
local stack_name = stack:get_name()
264268

265269
if minetest.get_item_group(stack_name, "digtron") ~= 0 then
@@ -285,9 +289,11 @@ minetest.register_node("digtron:builder", {
285289
end,
286290

287291
allow_metadata_inventory_take = function(pos, listname, index)
288-
node_inventory_table.pos = pos
289-
local inv = minetest.get_inventory(node_inventory_table)
290-
inv:set_stack(listname, index, ItemStack(""))
292+
if not digtron.check_protected_and_record(pos, player) then
293+
node_inventory_table.pos = pos
294+
local inv = minetest.get_inventory(node_inventory_table)
295+
inv:set_stack(listname, index, ItemStack(""))
296+
end
291297
return 0
292298
end,
293299

nodes/node_controllers.lua

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,9 @@ minetest.register_node("digtron:auto_controller", {
237237
inv:set_size("stop", 1)
238238
end,
239239

240-
allow_metadata_inventory_put = function(pos, listname, index, stack)
241-
if minetest.get_item_group(stack:get_name(), "digtron") ~= 0 then
240+
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
241+
if digtron.check_protected_and_record(pos, player)
242+
or minetest.get_item_group(stack:get_name(), "digtron") ~= 0 then
242243
return 0 -- pointless setting a Digtron node as a stop block
243244
end
244245
node_inventory_table.pos = pos
@@ -247,10 +248,12 @@ minetest.register_node("digtron:auto_controller", {
247248
return 0
248249
end,
249250

250-
allow_metadata_inventory_take = function(pos, listname, index)
251-
node_inventory_table.pos = pos
252-
local inv = minetest.get_inventory(node_inventory_table)
253-
inv:set_stack(listname, index, ItemStack(""))
251+
allow_metadata_inventory_take = function(pos, listname, index, _, player)
252+
if not digtron.check_protected_and_record(pos, player) then
253+
node_inventory_table.pos = pos
254+
local inv = minetest.get_inventory(node_inventory_table)
255+
inv:set_stack(listname, index, ItemStack(""))
256+
end
254257
return 0
255258
end,
256259

0 commit comments

Comments
 (0)