forked from VoxeLibre/VoxeLibre
Add protection support to composter.
* Add checks for `minetest.is_protected()` and log any violations. * Add local aliases for global functions.
This commit is contained in:
parent
bba3aabb59
commit
2ba801dfc7
|
@ -45,6 +45,8 @@ local swap_node = minetest.swap_node
|
|||
local get_node_timer = minetest.get_node_timer
|
||||
local add_item = minetest.add_item
|
||||
local vector_offset = vector.offset
|
||||
local is_protected = minetest.is_protected
|
||||
local record_protection_violation = minetest.record_protection_violation
|
||||
|
||||
local function composter_add_item(pos, node, player, itemstack, pointed_thing)
|
||||
--
|
||||
|
@ -55,6 +57,11 @@ local function composter_add_item(pos, node, player, itemstack, pointed_thing)
|
|||
if not player or (player:get_player_control() and player:get_player_control().sneak) then
|
||||
return itemstack
|
||||
end
|
||||
local name = player:get_player_name()
|
||||
if is_protected(pos, name) then
|
||||
record_protection_violation(pos, name)
|
||||
return itemstack
|
||||
end
|
||||
if not itemstack or itemstack:is_empty() then
|
||||
return itemstack
|
||||
end
|
||||
|
@ -111,6 +118,11 @@ local function composter_harvest(pos, node, player, itemstack, pointed_thing)
|
|||
if not player or (player:get_player_control() and player:get_player_control().sneak) then
|
||||
return
|
||||
end
|
||||
local name = player:get_player_name()
|
||||
if is_protected(pos, name) then
|
||||
record_protection_violation(pos, name)
|
||||
return itemstack
|
||||
end
|
||||
-- reset ready type composter to empty type
|
||||
swap_node(pos, {name="mcl_composters:composter"})
|
||||
-- spawn bone meal item (wtf dye?! is this how they make white cocoa)
|
||||
|
|
Loading…
Reference in New Issue