From b68a66ef4ac159705a734df967e3fe29a87aeaaf Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Sat, 8 Jun 2013 01:00:49 -0400 Subject: Add vertical version of airtight pipe entry if automatically rotates to connect to the thing you point at, if a connection is possible. --- init.lua | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'init.lua') diff --git a/init.lua b/init.lua index 8721027..a0b4b72 100644 --- a/init.lua +++ b/init.lua @@ -114,6 +114,12 @@ pipe_bendsphere = { -- Functions +if minetest.get_modpath("unified_inventory") or not minetest.setting_getbool("creative_mode") then + pipeworks_expect_infinite_stacks = false +else + pipeworks_expect_infinite_stacks = true +end + dbg = function(s) if DEBUG then print('[PIPEWORKS] ' .. s) @@ -135,6 +141,39 @@ function pipe_addbox(t, b) end end +function pipeworks_node_is_owned(pos, placer) + local ownername = false + if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod + if HasOwner(pos, placer) then -- returns true if the node is owned + if not IsPlayerNodeOwner(pos, placer:get_player_name()) then + if type(getLastOwner) == "function" then -- ...is an old version + ownername = getLastOwner(pos) + elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version + ownername = GetNodeOwnerName(pos) + else + ownername = S("someone") + end + end + end + + elseif type(isprotect)=="function" then -- glomie's protection mod + if not isprotect(5, pos, placer) then + ownername = S("someone") + end + elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod + if not protector.can_dig(5, pos, placer) then + ownername = S("someone") + end + end + + if ownername ~= false then + minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) ) + return true + else + return false + end +end + -- now define the nodes! pipes_empty_nodenames = {} -- cgit v1.2.3