aboutsummaryrefslogtreecommitdiff
path: root/stairsplus_convert.lua
diff options
context:
space:
mode:
Diffstat (limited to 'stairsplus_convert.lua')
-rw-r--r--stairsplus_convert.lua133
1 files changed, 0 insertions, 133 deletions
diff --git a/stairsplus_convert.lua b/stairsplus_convert.lua
deleted file mode 100644
index 7d6b94b..0000000
--- a/stairsplus_convert.lua
+++ /dev/null
@@ -1,133 +0,0 @@
--- Function to convert all stairs/slabs/etc nodes from
--- inverted, wall, etc to regular + 6d facedir
-
-local dirs1 = { 21, 20, 23, 22, 21 }
-local dirs2 = { 15, 8, 17, 6, 15 }
-local dirs3 = { 14, 11, 16, 5, 14 }
-
-function register_6dfacedir_conversion(modname, material)
- --print("Register stairsplus 6d facedir conversion")
- --print('ABM for '..modname..' "'..material..'"')
-
- local objects_list1 = {
- modname..":slab_" .. material .. "_inverted",
- modname..":slab_" .. material .. "_quarter_inverted",
- modname..":slab_" .. material .. "_three_quarter_inverted",
- modname..":stair_" .. material .. "_inverted",
- modname..":stair_" .. material .. "_wall",
- modname..":stair_" .. material .. "_wall_half",
- modname..":stair_" .. material .. "_wall_half_inverted",
- modname..":stair_" .. material .. "_half_inverted",
- modname..":stair_" .. material .. "_right_half_inverted",
- modname..":panel_" .. material .. "_vertical",
- modname..":panel_" .. material .. "_top",
- }
-
- local objects_list2 = {
- modname..":slab_" .. material .. "_wall",
- modname..":slab_" .. material .. "_quarter_wall",
- modname..":slab_" .. material .. "_three_quarter_wall",
- modname..":stair_" .. material .. "_inner_inverted",
- modname..":stair_" .. material .. "_outer_inverted",
- modname..":micro_" .. material .. "_top"
- }
-
- for j in ipairs(objects_list1) do
- local flip_upside_down = false
- local flip_to_wall = false
-
- local object = objects_list1[j]
- local dest_object = objects_list1[j]
-
- if string.find(dest_object, "_inverted") then
- flip_upside_down = true
- dest_object = string.gsub(dest_object, "_inverted", "")
- end
-
- if string.find(dest_object, "_top") then
- flip_upside_down = true
- dest_object = string.gsub(dest_object, "_top", "")
- end
-
- if string.find(dest_object, "_wall") then
- flip_to_wall = true
- dest_object = string.gsub(dest_object, "_wall", "")
- end
-
- if string.find(dest_object, "_vertical") then
- flip_to_wall = true
- dest_object = string.gsub(dest_object, "_vertical", "")
- end
-
- if string.find(dest_object, "_half") and not string.find(dest_object, "_right_half") then
- dest_object = string.gsub(dest_object, "_half", "_right_half")
- elseif string.find(dest_object, "_right_half") then
- dest_object = string.gsub(dest_object, "_right_half", "_half")
- end
-
- --print(" +---> convert "..object)
- --print(" | to "..dest_object)
-
- minetest.register_abm({
- nodenames = { object },
- interval = 1,
- chance = 1,
- action = function(pos, node, active_object_count, active_object_count_wider)
- local fdir = node.param2 or 0
-
- if flip_upside_down and not flip_to_wall then
- nfdir = dirs1[fdir+2]
- elseif flip_to_wall and not flip_upside_down then
- nfdir = dirs2[fdir+1]
- elseif flip_to_wall and flip_upside_down then
- nfdir = dirs3[fdir+2]
- end
- minetest.env:add_node(pos, {name = dest_object, param2 = nfdir})
- end
- })
- end
-
- for j in ipairs(objects_list2) do
- local flip_upside_down = false
- local flip_to_wall = false
-
- local object = objects_list2[j]
- local dest_object = objects_list2[j]
-
- if string.find(dest_object, "_inverted") then
- flip_upside_down = true
- dest_object = string.gsub(dest_object, "_inverted", "")
- end
-
- if string.find(dest_object, "_top") then
- flip_upside_down = true
- dest_object = string.gsub(dest_object, "_top", "")
- end
-
- if string.find(dest_object, "_wall") then
- flip_to_wall = true
- dest_object = string.gsub(dest_object, "_wall", "")
- end
-
- --print(" +---> convert "..object)
- --print(" | to "..dest_object)
-
- minetest.register_abm({
- nodenames = { object },
- interval = 1,
- chance = 1,
- action = function(pos, node, active_object_count, active_object_count_wider)
- local fdir = node.param2
- local nfdir = 20
-
- if flip_upside_down and not flip_to_wall then
- nfdir = dirs1[fdir+1]
- elseif flip_to_wall and not flip_upside_down then
- nfdir = dirs2[fdir+2]
-
- end
- minetest.env:add_node(pos, {name = dest_object, param2 = nfdir})
- end
- })
- end
-end