summaryrefslogtreecommitdiff
path: root/devices.lua
diff options
context:
space:
mode:
authorroot <root@linuxworks.belug.de>2017-11-11 11:26:39 +0100
committerroot <root@linuxworks.belug.de>2017-11-11 11:26:39 +0100
commitaee5397c713c84ac37d85d55c14122f5214eac3b (patch)
tree4055f32fab07863ead3c292d2077eccf1235c574 /devices.lua
parent31a6107b82ba1373289423b414b54b2818e61f3c (diff)
parent8fa259c93fbef467822f710a33537a76f608b7cb (diff)
Merge branch 'master' of https://github.com/minetest-mods/pipeworks
Diffstat (limited to 'devices.lua')
-rw-r--r--devices.lua76
1 files changed, 65 insertions, 11 deletions
diff --git a/devices.lua b/devices.lua
index 3ccbd09..07cf6fe 100644
--- a/devices.lua
+++ b/devices.lua
@@ -1,5 +1,8 @@
local new_flow_logic_register = pipeworks.flowables.register
+local polys = ""
+if pipeworks.enable_lowpoly then polys = "_lowpoly" end
+
-- rotation handlers
function pipeworks.fix_after_rotation(pos, node, user, mode, new_param2)
@@ -134,7 +137,7 @@ for s in ipairs(states) do
minetest.register_node(pumpname, {
description = "Pump/Intake Module",
drawtype = "mesh",
- mesh = "pipeworks_pump.obj",
+ mesh = "pipeworks_pump"..polys..".obj",
tiles = { "pipeworks_pump_"..states[s]..".png" },
paramtype = "light",
paramtype2 = "facedir",
@@ -177,7 +180,7 @@ for s in ipairs(states) do
minetest.register_node(nodename_valve_empty, {
description = "Valve",
drawtype = "mesh",
- mesh = "pipeworks_valve_"..states[s]..".obj",
+ mesh = "pipeworks_valve_"..states[s]..polys..".obj",
tiles = { "pipeworks_valve.png" },
sunlight_propagates = true,
paramtype = "light",
@@ -223,7 +226,7 @@ local nodename_valve_loaded = "pipeworks:valve_on_loaded"
minetest.register_node(nodename_valve_loaded, {
description = "Valve",
drawtype = "mesh",
- mesh = "pipeworks_valve_on.obj",
+ mesh = "pipeworks_valve_on"..polys..".obj",
tiles = { "pipeworks_valve.png" },
sunlight_propagates = true,
paramtype = "light",
@@ -304,7 +307,7 @@ local nodename_spigot_empty = "pipeworks:spigot"
minetest.register_node(nodename_spigot_empty, {
description = "Spigot outlet",
drawtype = "mesh",
- mesh = "pipeworks_spigot.obj",
+ mesh = "pipeworks_spigot"..polys..".obj",
tiles = { "pipeworks_spigot.png" },
sunlight_propagates = true,
paramtype = "light",
@@ -335,7 +338,7 @@ local nodename_spigot_loaded = "pipeworks:spigot_pouring"
minetest.register_node(nodename_spigot_loaded, {
description = "Spigot outlet",
drawtype = "mesh",
- mesh = "pipeworks_spigot_pouring.obj",
+ mesh = "pipeworks_spigot_pouring"..polys..".obj",
tiles = {
{
name = "default_water_flowing_animated.png",
@@ -401,7 +404,7 @@ local nodename_panel_empty = "pipeworks:entry_panel_empty"
minetest.register_node(nodename_panel_empty, {
description = "Airtight Pipe entry/exit",
drawtype = "mesh",
- mesh = "pipeworks_entry_panel.obj",
+ mesh = "pipeworks_entry_panel"..polys..".obj",
tiles = { "pipeworks_entry_panel.png" },
paramtype = "light",
paramtype2 = "facedir",
@@ -421,7 +424,7 @@ local nodename_panel_loaded = "pipeworks:entry_panel_loaded"
minetest.register_node(nodename_panel_loaded, {
description = "Airtight Pipe entry/exit",
drawtype = "mesh",
- mesh = "pipeworks_entry_panel.obj",
+ mesh = "pipeworks_entry_panel"..polys..".obj",
tiles = { "pipeworks_entry_panel.png" },
paramtype = "light",
paramtype2 = "facedir",
@@ -447,7 +450,7 @@ local nodename_sensor_empty = "pipeworks:flow_sensor_empty"
minetest.register_node(nodename_sensor_empty, {
description = "Flow Sensor",
drawtype = "mesh",
- mesh = "pipeworks_flow_sensor.obj",
+ mesh = "pipeworks_flow_sensor"..polys..".obj",
tiles = { "pipeworks_flow_sensor_off.png" },
sunlight_propagates = true,
paramtype = "light",
@@ -486,7 +489,7 @@ local nodename_sensor_loaded = "pipeworks:flow_sensor_loaded"
minetest.register_node(nodename_sensor_loaded, {
description = "Flow sensor (on)",
drawtype = "mesh",
- mesh = "pipeworks_flow_sensor.obj",
+ mesh = "pipeworks_flow_sensor"..polys..".obj",
tiles = { "pipeworks_flow_sensor_on.png" },
sunlight_propagates = true,
paramtype = "light",
@@ -606,7 +609,7 @@ local nodename_fountain_empty = "pipeworks:fountainhead"
minetest.register_node(nodename_fountain_empty, {
description = "Fountainhead",
drawtype = "mesh",
- mesh = "pipeworks_fountainhead.obj",
+ mesh = "pipeworks_fountainhead"..polys..".obj",
tiles = { "pipeworks_fountainhead.png" },
sunlight_propagates = true,
paramtype = "light",
@@ -640,7 +643,7 @@ local nodename_fountain_loaded = "pipeworks:fountainhead_pouring"
minetest.register_node(nodename_fountain_loaded, {
description = "Fountainhead",
drawtype = "mesh",
- mesh = "pipeworks_fountainhead.obj",
+ mesh = "pipeworks_fountainhead"..polys..".obj",
tiles = { "pipeworks_fountainhead.png" },
sunlight_propagates = true,
paramtype = "light",
@@ -679,7 +682,58 @@ local fountain_neighbours={{x=0, y=1, z=0}}
new_flow_logic_register.output_simple(nodename_fountain_empty, fountain_upper, fountain_lower, fountain_neighbours)
new_flow_logic_register.output_simple(nodename_fountain_loaded, fountain_upper, fountain_lower, fountain_neighbours)
+local sp_cbox = {
+ type = "fixed",
+ fixed = {
+ { -2/16, -2/16, -8/16, 2/16, 2/16, 8/16 }
+ }
+}
+
+local nodename_sp_empty = "pipeworks:straight_pipe_empty"
+minetest.register_node(nodename_sp_empty, {
+ description = "Straight-only Pipe",
+ drawtype = "mesh",
+ mesh = "pipeworks_straight_pipe"..polys..".obj",
+ tiles = { "pipeworks_straight_pipe_empty.png" },
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=3, pipe=1},
+ sounds = default.node_sound_wood_defaults(),
+ walkable = true,
+ on_place = pipeworks.rotate_on_place,
+ after_dig_node = function(pos)
+ pipeworks.scan_for_pipe_objects(pos)
+ end,
+ selection_box = sp_cbox,
+ collision_box = sp_cbox,
+ on_rotate = pipeworks.fix_after_rotation
+})
+
+local nodename_sp_loaded = "pipeworks:straight_pipe_loaded"
+minetest.register_node(nodename_sp_loaded, {
+ description = "Straight-only Pipe",
+ drawtype = "mesh",
+ mesh = "pipeworks_straight_pipe"..polys..".obj",
+ tiles = { "pipeworks_straight_pipe_loaded.png" },
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=3, pipe=1, not_in_creative_inventory=1},
+ sounds = default.node_sound_wood_defaults(),
+ walkable = true,
+ on_place = pipeworks.rotate_on_place,
+ after_dig_node = function(pos)
+ pipeworks.scan_for_pipe_objects(pos)
+ end,
+ selection_box = sp_cbox,
+ collision_box = sp_cbox,
+ drop = "pipeworks:straight_pipe_empty",
+ on_rotate = pipeworks.fix_after_rotation
+})
+
+new_flow_logic_register.directional_horizonal_rotate(nodename_sp_empty, true)
+new_flow_logic_register.directional_horizonal_rotate(nodename_sp_loaded, true)
+-- Other misc stuff
minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty")
minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty")