myladders/init.lua

92 lines
2.5 KiB
Lua

myladders = {}
myladders.colors = {
{"black", "Black", "^[colorize:black:240"},
{"blue", "Blue", "^[colorize:#0404B4:100"},
{"brown", "Brown", "^[colorize:#190B07:160"},
{"cyan", "Cyan", "^[colorize:cyan:120"},
{"dark_green", "Dark Green", "^[colorize:#071907:200"},
{"dark_grey", "Dark Grey", "^[colorize:black:200"},
{"green", "Green", "^[colorize:green:160"},
{"grey", "Grey", "^[colorize:black:150"},
{"magenta", "Magenta", "^[colorize:magenta:160"},
{"orange", "Orange", "^[colorize:orange:220"},
{"pink", "Pink", "^[colorize:#FE2E9A:200"},
{"red", "Red", "^[colorize:#B40404:200"},
{"violet", "Violet", "^[colorize:#2F0B3A:220"},
{"white", "White", "^[colorize:white:200"},
{"yellow", "Yellow", "^[colorize:yellow:200"},
}
local paintables = {
"myladders:treehouse", "myladders:heavy", "myladders:ladder"
}
for _, entry in ipairs(myladders.colors) do
local mat = entry[1]
local desc = entry[2]
local alpha = entry[3]
local ladders_type = { --Material , Description
{"myladders:treehouse", "Treehouse", "myladders_tree.obj","myladders_treewood.png^[transformR90"},
{"myladders:heavy", "Heavy Duty", "myladders_heavy.obj","myladders_heavy.png"},
{"myladders:ladder", "Default", "myladders_default.obj","default_wood.png"},
}
for i in ipairs(ladders_type) do
local typ = ladders_type[i][1]
local desct = ladders_type[i][2]
local mesht = ladders_type[i][3]
local img = ladders_type[i][4]
----------------------------------------------------------------------------------------
minetest.register_node(typ.."_"..mat, {
description = desc.." "..desct.." Ladder",
drawtype = "mesh",
mesh = mesht,
tiles = {img..alpha},
paramtype = "light",
paramtype2 = "facedir",
walkable = true,
climbable = true,
is_ground_content = false,
groups = {choppy=2,flammable=1},
selection_box = {
type = "fixed",
fixed = {
{-0.375, -0.5, 0.375, 0.375, 0.5, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
})
end
end
minetest.register_craft({
type = "shapeless",
output = "myladders:ladder_brown 2",
recipe = {"default:ladder"}
})
minetest.register_craft({
type = "shapeless",
output = "myladders:treehouse_ladder_brown 2",
recipe = {"default:ladder","default:stick"}
})
minetest.register_craft({
type = "shapeless",
output = "myladders:heavy_ladder_brown 1",
recipe = {"default:ladder","default:ladder"}
})
if minetest.get_modpath("mypaint") then
local colors = {}
for _, entry in ipairs(myladders.colors) do
table.insert(colors, entry[1])
end
mypaint.register(paintables, colors)
end