summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoplace_tubes.lua14
-rw-r--r--common.lua36
-rw-r--r--filter-injector.lua4
-rw-r--r--item_transport.lua6
-rw-r--r--luaentity.lua3
-rw-r--r--routing_tubes.lua2
-rw-r--r--sorting_tubes.lua2
-rw-r--r--tube_registration.lua4
8 files changed, 40 insertions, 31 deletions
diff --git a/autoplace_tubes.lua b/autoplace_tubes.lua
index 280bd60..0d28e64 100644
--- a/autoplace_tubes.lua
+++ b/autoplace_tubes.lua
@@ -1,7 +1,7 @@
-- autorouting for pneumatic tubes
local function is_tube(nodename)
- return table.contains(pipeworks.tubenodes, nodename)
+ return pipeworks.table_contains(pipeworks.tubenodes, nodename)
end
--a function for determining which side of the node we are on
@@ -11,23 +11,23 @@ local function nodeside(node, tubedir)
end
local backdir = minetest.facedir_to_dir(node.param2)
- local back = vector.dot(backdir, tubedir)
+ local back = pipeworks.vector_dot(backdir, tubedir)
if back == 1 then
return "back"
elseif back == -1 then
return "front"
end
- local topdir = minetest.facedir_to_top_dir(node.param2)
- local top = vector.dot(topdir, tubedir)
+ local topdir = pipeworks.facedir_to_top_dir(node.param2)
+ local top = pipeworks.vector_dot(topdir, tubedir)
if top == 1 then
return "top"
elseif top == -1 then
return "bottom"
end
- local rightdir = minetest.facedir_to_right_dir(node.param2)
- local right = vector.dot(rightdir, tubedir)
+ local rightdir = pipeworks.facedir_to_right_dir(node.param2)
+ local right = pipeworks.vector_dot(rightdir, tubedir)
if right == 1 then
return "right"
else
@@ -99,7 +99,7 @@ end
function pipeworks.scan_for_tube_objects(pos)
for side = 0, 6 do
- tube_autoroute(vector.add(pos, directions.side_to_dir(side)))
+ tube_autoroute(vector.add(pos, pipeworks.directions.side_to_dir(side)))
end
end
diff --git a/common.lua b/common.lua
index 1ee734f..5574bb2 100644
--- a/common.lua
+++ b/common.lua
@@ -2,7 +2,7 @@
-- Vector functions --
----------------------
-function vector.cross(a, b)
+function pipeworks.vector_cross(a, b)
return {
x = a.y * b.z - a.z * b.y,
y = a.z * b.x - a.x * b.z,
@@ -10,7 +10,7 @@ function vector.cross(a, b)
}
end
-function vector.dot(a, b)
+function pipeworks.vector_dot(a, b)
return a.x * b.x + a.y * b.y + a.z * b.z
end
@@ -18,7 +18,7 @@ end
-- Facedir functions --
-----------------------
-function minetest.facedir_to_top_dir(facedir)
+function pipeworks.facedir_to_top_dir(facedir)
return ({[0] = {x = 0, y = 1, z = 0},
{x = 0, y = 0, z = 1},
{x = 0, y = 0, z = -1},
@@ -28,14 +28,15 @@ function minetest.facedir_to_top_dir(facedir)
[math.floor(facedir / 4)]
end
-function minetest.facedir_to_right_dir(facedir)
- return vector.cross(
- minetest.facedir_to_top_dir(facedir),
+function pipeworks.facedir_to_right_dir(facedir)
+ return pipeworks.vector_cross(
+ pipeworks.facedir_to_top_dir(facedir),
minetest.facedir_to_dir(facedir)
)
end
-directions = {}
+local directions = {}
+pipeworks.directions = directions
function directions.side_to_dir(side)
return ({[0] = vector.new(),
vector.new( 0, 1, 0),
@@ -48,7 +49,7 @@ function directions.side_to_dir(side)
end
function directions.dir_to_side(dir)
- local c = vector.dot(dir, vector.new(1, 2, 3)) + 4
+ local c = pipeworks.vector_dot(dir, vector.new(1, 2, 3)) + 4
return ({6, 2, 4, 0, 3, 1, 5})[c]
end
@@ -56,7 +57,7 @@ end
-- String functions --
----------------------
---[[function string.split(str, sep)
+--[[function pipeworks.string_split(str, sep)
local fields = {}
local index = 1
local expr = "([^"..sep.."])+"
@@ -67,7 +68,7 @@ end
return fields
end]]
-function string.startswith(str, substr)
+function pipeworks.string_startswith(str, substr)
return str:sub(1, substr:len()) == substr
end
@@ -75,7 +76,7 @@ end
-- Table functions --
---------------------
-function table.contains(tbl, element)
+function pipeworks.table_contains(tbl, element)
for _, elt in pairs(tbl) do
if elt == element then
return true
@@ -84,7 +85,7 @@ function table.contains(tbl, element)
return false
end
-function table.extend(tbl, tbl2)
+function pipeworks.table_extend(tbl, tbl2)
local index = #tbl + 1
for _, elt in ipairs(tbl2) do
tbl[index] = elt
@@ -92,11 +93,11 @@ function table.extend(tbl, tbl2)
end
end
-function table.recursive_replace(tbl, pattern, replace_with)
+function pipeworks.table_recursive_replace(tbl, pattern, replace_with)
if type(tbl) == "table" then
local tbl2 = {}
for key, value in pairs(tbl) do
- tbl2[key] = table.recursive_replace(value, pattern, replace_with)
+ tbl2[key] = pipeworks.table_recursive_replace(value, pattern, replace_with)
end
return tbl2
elseif type(tbl) == "string" then
@@ -110,11 +111,12 @@ end
-- Formspec functions --
------------------------
-fs_helpers = {}
+local fs_helpers = {}
+pipeworks.fs_helpers = fs_helpers
function fs_helpers.on_receive_fields(pos, fields)
local meta = minetest.get_meta(pos)
for field, value in pairs(fields) do
- if field:startswith("fs_helpers_cycling:") then
+ if pipeworks.string_startswith(field, "fs_helpers_cycling:") then
local l = field:split(":")
local new_value = tonumber(l[2])
local meta_name = l[3]
@@ -146,7 +148,7 @@ end
-- Env --
---------
-function minetest.load_position(pos)
+function pipeworks.load_position(pos)
if pos.x < -30912 or pos.y < -30912 or pos.z < -30912 or
pos.x > 30927 or pos.y > 30927 or pos.z > 30927 then return end
if minetest.get_node_or_nil(pos) then
diff --git a/filter-injector.lua b/filter-injector.lua
index 72f7bad..0d22675 100644
--- a/filter-injector.lua
+++ b/filter-injector.lua
@@ -1,3 +1,5 @@
+local fs_helpers = pipeworks.fs_helpers
+
local function delay(x)
return (function() return x end)
end
@@ -169,7 +171,7 @@ local function punch_filter(data, filtpos, filtnode, msg)
is_fake_player = ":pipeworks",
get_wielded_item = delay(ItemStack(nil))
} -- TODO: use a mechanism as the wielder one
- local dir = minetest.facedir_to_right_dir(filtnode.param2)
+ local dir = pipeworks.facedir_to_right_dir(filtnode.param2)
local frompos = vector.subtract(filtpos, dir)
local fromnode = minetest.get_node(frompos)
if not fromnode then return end
diff --git a/item_transport.lua b/item_transport.lua
index e906387..4f8d5d6 100644
--- a/item_transport.lua
+++ b/item_transport.lua
@@ -1,3 +1,5 @@
+local luaentity = pipeworks.luaentity
+
function pipeworks.tube_item(pos, item)
error("obsolete pipeworks.tube_item() called; change caller to use pipeworks.tube_inject_item() instead")
end
@@ -55,7 +57,7 @@ local function go_next(pos, velocity, stack)
end
for _, vect in ipairs(can_go) do
local npos = vector.add(pos, vect)
- minetest.load_position(npos)
+ pipeworks.load_position(npos)
local node = minetest.get_node(npos)
local reg_node = minetest.registered_nodes[node.name]
if reg_node then
@@ -225,7 +227,7 @@ luaentity.register_entity("pipeworks:tubed_item", {
moved = true
end
- minetest.load_position(self.start_pos)
+ pipeworks.load_position(self.start_pos)
local node = minetest.get_node(self.start_pos)
if moved and minetest.get_item_group(node.name, "tubedevice_receiver") == 1 then
local leftover
diff --git a/luaentity.lua b/luaentity.lua
index 50004ed..0105c91 100644
--- a/luaentity.lua
+++ b/luaentity.lua
@@ -1,6 +1,7 @@
local max_entity_id = 1000000000000 -- If you need more, there's a problem with your code
-luaentity = {}
+local luaentity = {}
+pipeworks.luaentity = luaentity
luaentity.registered_entities = {}
diff --git a/routing_tubes.lua b/routing_tubes.lua
index 0a82fc8..f415c3e 100644
--- a/routing_tubes.lua
+++ b/routing_tubes.lua
@@ -101,7 +101,7 @@ if pipeworks.enable_one_way_tube then
return {velocity}
end,
can_insert = function(pos, node, stack, direction)
- local dir = minetest.facedir_to_right_dir(node.param2)
+ local dir = pipeworks.facedir_to_right_dir(node.param2)
return vector.equals(dir, direction)
end,
priority = 75 -- Higher than normal tubes, but lower than receivers
diff --git a/sorting_tubes.lua b/sorting_tubes.lua
index edaa24a..0d6ec2a 100644
--- a/sorting_tubes.lua
+++ b/sorting_tubes.lua
@@ -1,3 +1,5 @@
+local fs_helpers = pipeworks.fs_helpers
+
if pipeworks.enable_mese_tube then
local function update_formspec(pos)
local meta = minetest.get_meta(pos)
diff --git a/tube_registration.lua b/tube_registration.lua
index c926216..c720755 100644
--- a/tube_registration.lua
+++ b/tube_registration.lua
@@ -44,7 +44,7 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e
end
for _, v in ipairs(connects) do
- table.extend(outboxes, pipeworks.tube_boxes[v])
+ pipeworks.table_extend(outboxes, pipeworks.tube_boxes[v])
table.insert(outsel, pipeworks.tube_selectboxes[v])
outimgs[vti[v]] = noctrs[v]
end
@@ -127,7 +127,7 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e
nodedef.tube[key] = val
end
else
- nodedef[key] = table.recursive_replace(value, "#id", tname)
+ nodedef[key] = pipeworks.table_recursive_replace(value, "#id", tname)
end
end