Fix some more coding style, fix a crash, get rid of a conversion table (only used...
authorNovatux <nathanael.courant@laposte.net>
Tue, 31 Dec 2013 09:26:25 +0000 (10:26 +0100)
committerNovatux <nathanael.courant@laposte.net>
Tue, 31 Dec 2013 12:54:13 +0000 (13:54 +0100)
tubes.lua

index feb3711f75efb4ae255da17052c5496fb1356c46..f966b5d4bad6d6d55f3a6196711a2c48692d4252 100644 (file)
--- a/tubes.lua
+++ b/tubes.lua
@@ -12,7 +12,6 @@ minetest.register_alias("pipeworks:tube", "pipeworks:tube_000000")
 
 local REGISTER_COMPATIBILITY = true
 
-local stv = {1, 3, 5, 2, 4, 6}
 local vti = {4, 3, 2, 1, 6, 5}
 
 local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, ends, short, inv, special, connects, style)
@@ -24,47 +23,47 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e
                outimgs[vti[i]] = plain[i]
        end
        
-       for _, side in ipairs(connects) do
-               local v = stv[side+1]
+       for _, v in ipairs(connects) do
                pipeworks.add_node_box(outboxes, pipeworks.tube_boxes[v])
                table.insert(outsel, pipeworks.tube_selectboxes[v])
                outimgs[vti[v]] = noctrs[v]
        end
 
        if #connects == 1 then
-               local v = stv[(connects[1]+3)%6+1]
+               local v = connects[1]
+               v = v-1 + 2*(v%2) -- Opposite side
                outimgs[vti[v]] = ends[v]
        end
 
-       local tgroups = {snappy=3, tube=1, not_in_creative_inventory=1}
+       local tgroups = {snappy = 3, tube = 1, not_in_creative_inventory = 1}
        local tubedesc = desc.." "..dump(connects).."... You hacker, you."
-       local iimg=plain[1]
-       local wscale = {x=1,y=1,z=1}
+       local iimg = plain[1]
+       local wscale = {x = 1, y = 1, z = 1}
 
        if #connects == 0 then
-               tgroups = {snappy=3, tube=1}
+               tgroups = {snappy = 3, tube = 1}
                tubedesc = desc
                iimg=inv
                outimgs = {
-                       short,short,
+                       short, short,
                        ends[3],ends[4],
-                       short,short
+                       short, short
                }
                outboxes = { -24/64, -9/64, -9/64, 24/64, 9/64, 9/64 }
                outsel = { -24/64, -10/64, -10/64, 24/64, 10/64, 10/64 }
-               wscale = {x=1,y=1,z=0.01}
+               wscale = {x = 1, y = 1, z = 0.01}
        end
        
-       table.insert(pipeworks.tubenodes,name.."_"..tname)
+       table.insert(pipeworks.tubenodes, name.."_"..tname)
        
-       local nodedef={
+       local nodedef = {
                description = tubedesc,
                drawtype = "nodebox",
                tiles = outimgs,
                sunlight_propagates = true,
-               inventory_image=iimg,
-               wield_image=iimg,
-               wield_scale=wscale,
+               inventory_image = iimg,
+               wield_image = iimg,
+               wield_scale = wscale,
                paramtype = "light",
                selection_box = {
                        type = "fixed",
@@ -81,11 +80,11 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e
                basename = name,
                style = style,
                drop = name.."_"..dropname,
-               tubelike=1,
-               tube = {connect_sides={front=1, back=1, left=1, right=1, top=1, bottom=1}},
+               tubelike = 1,
+               tube = {connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}},
                on_construct = function(pos)
                        local meta = minetest.get_meta(pos)
-                       meta:set_int("tubelike",1)
+                       meta:set_int("tubelike", 1)
                        if minetest.registered_nodes[name.."_"..tname].on_construct_ then
                                minetest.registered_nodes[name.."_"..tname].on_construct_(pos)
                        end
@@ -107,29 +106,29 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e
                nodedef.paramtype2 = "facedir"
        end
        
-       if special==nil then special={} end
-
-       for key,value in pairs(special) do
-               if key=="on_construct" or key=="after_dig_node" or key=="after_place_node" then
-                       nodedef[key.."_"]=value
-               elseif key=="groups" then
-                       for group,val in pairs(value) do
-                               nodedef.groups[group]=val
+       if special == nil then special = {} end
+
+       for key, value in pairs(special) do
+               if key == "on_construct" or key == "after_dig_node" or key == "after_place_node" then
+                       nodedef[key.."_"] = value
+               elseif key == "groups" then
+                       for group, val in pairs(value) do
+                               nodedef.groups[group] = val
                        end
-               elseif key=="tube" then
-                       for key,val in pairs(value) do
-                               nodedef.tube[key]=val
+               elseif key == "tube" then
+                       for key, val in pairs(value) do
+                               nodedef.tube[key] = val
                        end
-               elseif type(value)=="table" then
-                       nodedef[key]=pipeworks.replace_name(value,"#id",tname)
-               elseif type(value)=="string" then
-                       nodedef[key]=string.gsub(value,"#id",tname)
+               elseif type(value) == "table" then
+                       nodedef[key] = pipeworks.replace_name(value, "#id", tname)
+               elseif type(value) == "string" then
+                       nodedef[key] = string.gsub(value, "#id", tname)
                else
-                       nodedef[key]=value
+                       nodedef[key] = value
                end
        end
 
-       local prefix=":"
+       local prefix = ":"
        if string.find(name, "pipeworks:") then prefix = "" end
 
        minetest.register_node(prefix..name.."_"..tname, nodedef)
@@ -145,22 +144,22 @@ pipeworks.register_tube = function(name, desc, plain, noctrs, ends, short, inv,
                for zp = 0, 1 do
                        local connects = {}
                        if xm == 1 then
-                               connects[#connects+1] = 0
+                               connects[#connects+1] = 1
                        end
                        if xp == 1 then
-                               connects[#connects+1] = 3
+                               connects[#connects+1] = 2
                        end
                        if ym == 1 then
-                               connects[#connects+1] = 1
+                               connects[#connects+1] = 3
                        end
                        if yp == 1 then
                                connects[#connects+1] = 4
                        end
                        if zm == 1 then
-                               connects[#connects+1] = 2
+                               connects[#connects+1] = 5
                        end
                        if zp == 1 then
-                               connects[#connects+1] = 5
+                               connects[#connects+1] = 6
                        end
                        local tname = xm..xp..ym..yp..zm..zp
                        register_one_tube(name, tname, "000000", desc, plain, noctrs, ends, short, inv, special, connects, "old")
@@ -171,7 +170,7 @@ pipeworks.register_tube = function(name, desc, plain, noctrs, ends, short, inv,
                end
                end
        else
-               local cconnects = {{}, {0}, {0, 3}, {0, 1}, {0, 1, 2}, {0, 1, 3}, {0, 1, 2, 3}, {0, 1, 3, 4}, {0, 1, 2, 3, 4}, {0, 1, 2, 3, 4, 5}}
+               local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}}
                for index, connects in ipairs(cconnects) do
                        register_one_tube(name, tostring(index), "1", desc, plain, noctrs, ends, short, inv, special, connects, "6d")
                end
@@ -441,8 +440,17 @@ end
 
 if pipeworks.enable_crossing_tube then
        -- FIXME: The textures are not the correct ones
-       pipeworks.register_tube("pipeworks:crossing_tube", "Crossing tube segment", accelerator_plain_textures,
-                               accelerator_noctr_textures, accelerator_end_textures, accelerator_short_texture, accelerator_inv_texture,
+       local crossing_noctr_textures = {"pipeworks_accelerator_tube_noctr.png", "pipeworks_accelerator_tube_noctr.png", "pipeworks_accelerator_tube_noctr.png",
+                                           "pipeworks_accelerator_tube_noctr.png", "pipeworks_accelerator_tube_noctr.png", "pipeworks_accelerator_tube_noctr.png"}
+       local crossing_plain_textures = {"pipeworks_accelerator_tube_plain.png" ,"pipeworks_accelerator_tube_plain.png", "pipeworks_accelerator_tube_plain.png",
+                                           "pipeworks_accelerator_tube_plain.png", "pipeworks_accelerator_tube_plain.png", "pipeworks_accelerator_tube_plain.png"}
+       local crossing_end_textures = {"pipeworks_accelerator_tube_end.png", "pipeworks_accelerator_tube_end.png", "pipeworks_accelerator_tube_end.png",
+                                         "pipeworks_accelerator_tube_end.png", "pipeworks_accelerator_tube_end.png", "pipeworks_accelerator_tube_end.png"}
+       local crossing_short_texture = "pipeworks_accelerator_tube_short.png"
+       local crossing_inv_texture = "pipeworks_accelerator_tube_inv.png"
+
+       pipeworks.register_tube("pipeworks:crossing_tube", "Crossing tube segment", crossing_plain_textures,
+                               crossing_noctr_textures, crossing_end_textures, crossing_short_texture, crossing_inv_texture,
                                {tube = {can_go = function(pos, node, velocity, stack)
                                                 return {velocity}
                                        end}