added dig protection to machines

master
DonBatman 2015-05-05 09:09:48 -07:00
parent cbbd0fde9d
commit 1eea691cf2
4 changed files with 26 additions and 6 deletions

View File

@ -34,12 +34,17 @@ minetest.register_node('mylandscaping:machine', {
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("input") then
if player:get_player_name() ~= meta:get_string("owner") then
return false
elseif not inv:is_empty("input") then
return false
elseif not inv:is_empty("output") then
return false
end
return true
end,
after_place_node = function(pos, placer, itemstack)

View File

@ -35,9 +35,15 @@ minetest.register_node('mylandscaping:mixer', {
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("input") then
if player:get_player_name() ~= meta:get_string("owner") then
return false
elseif not inv:is_empty("output") then
elseif not inv:is_empty("cobble") then
return false
elseif not inv:is_empty("gravel") then
return false
elseif not inv:is_empty("concrete") then
return false
elseif not inv:is_empty("sand") then
return false
end
return true

View File

@ -37,7 +37,10 @@ minetest.register_node('mylandscaping:machine', {
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("input") then
if player:get_player_name() ~= meta:get_string("owner") then
return false
elseif not inv:is_empty("input") then
return false
elseif not inv:is_empty("output") then
return false

View File

@ -34,9 +34,15 @@ minetest.register_node('mylandscaping:mixer', {
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("input") then
if player:get_player_name() ~= meta:get_string("owner") then
return false
elseif not inv:is_empty("output") then
elseif not inv:is_empty("cobble") then
return false
elseif not inv:is_empty("gravel") then
return false
elseif not inv:is_empty("concrete") then
return false
elseif not inv:is_empty("sand") then
return false
end
return true