summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-06-08 01:00:49 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-06-08 01:00:49 -0400
commitb68a66ef4ac159705a734df967e3fe29a87aeaaf (patch)
tree2e71d71a22ac6ab06b5d051b839c15ee8bd84648 /init.lua
parenta6faa00bdfc82be521c2c2a23246dabe7c401b14 (diff)
downloadpipeworks-b68a66ef4ac159705a734df967e3fe29a87aeaaf.tar
pipeworks-b68a66ef4ac159705a734df967e3fe29a87aeaaf.tar.gz
pipeworks-b68a66ef4ac159705a734df967e3fe29a87aeaaf.tar.bz2
pipeworks-b68a66ef4ac159705a734df967e3fe29a87aeaaf.tar.xz
pipeworks-b68a66ef4ac159705a734df967e3fe29a87aeaaf.zip
Add vertical version of airtight pipe entry
if automatically rotates to connect to the thing you point at, if a connection is possible.
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua39
1 files changed, 39 insertions, 0 deletions
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 = {}