only allow function to be called from an `epic:epic` block
parent
d21e4f9662
commit
dc92da6317
16
common.lua
16
common.lua
|
@ -28,18 +28,10 @@ epic.start = function(playername, pos)
|
|||
return false
|
||||
end
|
||||
|
||||
local main_node = epic.get_node(main_pos)
|
||||
if main_node.name == "epic:epic" then
|
||||
-- delegate to "real" epic block
|
||||
-- TODO: detect recursion here
|
||||
return epic.start(playername, main_pos)
|
||||
|
||||
else
|
||||
-- start epic
|
||||
epic.execute_epic(player, main_pos, epic_name)
|
||||
return true
|
||||
end
|
||||
-- start epic
|
||||
epic.execute_epic(player, main_pos, epic_name)
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
-- abort epic if running
|
||||
|
@ -180,7 +172,7 @@ epic.is_epic = function(node)
|
|||
return nodedef.epic ~= nil
|
||||
end
|
||||
|
||||
-- executes an epic with main and optional exit function
|
||||
-- executes an epic function
|
||||
epic.execute_epic = function(player, main_pos, name)
|
||||
if epic.state[player:get_player_name()] then
|
||||
-- already running a function
|
||||
|
|
|
@ -78,8 +78,8 @@ minetest.register_on_punchnode(function(pos, node, puncher)
|
|||
not minetest.check_player_privs(playername, {epic_admin=true}) then
|
||||
minetest.chat_send_player(playername, "[epic] target is protected! aborting selection.")
|
||||
|
||||
elseif node.name ~= "epic:function" and node.name ~= "epic:epic" then
|
||||
minetest.chat_send_player(playername, "[epic] target is not a function or an epic! aborting selection.")
|
||||
elseif node.name ~= "epic:function" then
|
||||
minetest.chat_send_player(playername, "[epic] target is not a function! aborting selection.")
|
||||
|
||||
else
|
||||
local meta = minetest.get_meta(cfg_pos)
|
||||
|
|
Loading…
Reference in New Issue