diff options
author | root <root@linuxworks.belug.de> | 2017-11-11 11:26:39 +0100 |
---|---|---|
committer | root <root@linuxworks.belug.de> | 2017-11-11 11:26:39 +0100 |
commit | aee5397c713c84ac37d85d55c14122f5214eac3b (patch) | |
tree | 4055f32fab07863ead3c292d2077eccf1235c574 /devices.lua | |
parent | 31a6107b82ba1373289423b414b54b2818e61f3c (diff) | |
parent | 8fa259c93fbef467822f710a33537a76f608b7cb (diff) |
Merge branch 'master' of https://github.com/minetest-mods/pipeworks
Diffstat (limited to 'devices.lua')
-rw-r--r-- | devices.lua | 76 |
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") |