marble/init.lua

260 lines
5.8 KiB
Lua

local stairsplus_patterns = {
{"stair", ""},
{"slab", ""},
{"micro", "_1"},
{"panel", "_1"},
{"micro", "_2"},
{"panel", "_2"},
{"micro", "_4"},
{"panel", "_4"},
{"micro", ""},
{"panel", ""},
{"micro", "_12"},
{"panel", "_12"},
{"micro", "_14"},
{"panel", "_14"},
{"micro", "_15"},
{"panel", "_15"},
{"stair", "_outer"},
{"stair", "_inner"},
{"slab", "_1"},
{"slab", "_2"},
{"slab", "_quarter"},
{"slab", "_three_quarter"},
{"slab", "_14"},
{"slab", "_15"},
{"slab", "_two_sides"},
{"slab", "_three_sides"},
{"slab", "_three_sides_u"},
{"stair", "_half"},
{"stair", "_alt_1"},
{"stair", "_alt_2"},
{"stair", "_alt_4"},
{"stair", "_alt"},
{"slope", ""},
{"slope", "_half"},
{"slope", "_half_raised"},
{"slope", "_inner"},
{"slope", "_inner_half"},
{"slope", "_inner_half_raised"},
{"slope", "_inner_cut"},
{"slope", "_inner_cut_half"},
{"slope", "_inner_cut_half_raised"},
{"slope", "_outer"},
{"slope", "_outer_half"},
{"slope", "_outer_half_raised"},
{"slope", "_outer_cut"},
{"slope", "_outer_cut_half"},
{"slope", "_outer_cut_half_raised"},
{"slope", "_cut"},
}
local function register_stairsplus_alias_force(modname, origname, newmod, newname)
for _, pattern in ipairs(stairsplus_patterns) do
local prefix = pattern[1]
local suffix = pattern[2]
minetest.register_alias_force(
modname .. ":" .. prefix ..
origname .. suffix,
newmod .. ":" .. prefix ..
newname .. suffix)
end
end
-- register nodes
minetest.register_node("marble:white", {
description = "Marble",
tiles = {"marble_white.png"},
drop = "marble:white",
is_ground_content = true,
groups = {cracky=3, marble=1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marble:white_block", {
description = "Marble Block",
tiles = {"marble_white_block.png"},
drop = "marble:white_block",
groups = {cracky=3, marble=1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marble:white_brick", {
description = "Marble Brick",
tiles = {"marble_white_brick.png"},
drop = "marble:white_brick",
groups = {cracky=3, marble=1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = 'marble:white_block 9',
recipe = {
{'marble:white','marble:white','marble:white'},
{'marble:white','marble:white','marble:white'},
{'marble:white','marble:white','marble:white'}
}
})
minetest.register_craft({
output = 'marble:white_brick 4',
recipe = {
{'marble:white','marble:white',},
{'marble:white','marble:white',}
}
})
-- technic
if minetest.global_exists("technic") then
minetest.register_alias_force("technic:marble", "marble:white")
minetest.register_alias_force("technic:marble_bricks", "marble:white_brick")
end
-- moreblocks
if minetest.global_exists("stairsplus") then
stairsplus:register_all("marble", "white", "marble:white", {
description = "Marble",
tiles = {"marble_white.png"},
groups = {cracky=3, marble=1},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("marble", "white_block", "marble:white_block", {
description = "Marble Block",
tiles = {"marble_white_block.png"},
groups = {cracky=3, marble=1},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("marble", "white_brick", "marble:white_brick", {
description = "Marble Brick",
tiles = {"marble_white_brick.png"},
groups = {cracky=3, marble=1},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
if minetest.global_exists("technic") then
register_stairsplus_alias_force("technic","marble","marble","white")
register_stairsplus_alias_force("technic","marble_bricks","marble","white_brick")
end
-- stairs
elseif minetest.global_exists("stairs") then
stairs.register_stair_and_slab(
"white",
"marble:white",
{cracky=2},
{"marble_white.png"},
"Marble Stairs",
"Marble Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab(
"white_block",
"marble:white_block",
{cracky=2},
{"marble_white_block.png"},
"Marble Block Stairs",
"Marble Block Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab(
"white_brick",
"marble:white_brick",
{cracky=2},
{"marble_white_brick.png"},
"Marble Brick Stairs",
"Marble Brick Slab",
default.node_sound_stone_defaults()
)
end
-- castle masonry
if minetest.global_exists("castle_masonry") then
castle_masonry.register_pillar({
name = "white",
desc = "Marble",
tile = "marble_white.png",
craft_material = "marble:white"}
)
castle_masonry.register_pillar({
name = "white_block",
desc = "Marble Block",
tile = "marble_white_block.png",
craft_material = "marble:white_block"}
)
castle_masonry.register_pillar({
name = "white_brick",
desc = "Marble Brick",
tile = "marble_white_brick.png",
craft_material = "marble:white_brick"}
)
castle_masonry.register_arrowslit({
name = "white",
desc = "Marble",
tile = "marble_white.png",
craft_material = "marble:white"}
)
castle_masonry.register_arrowslit({
name = "white_block",
desc = "Marble Block",
tile = "marble_white_block.png",
craft_material = "marble:white_block"}
)
castle_masonry.register_arrowslit({
name = "white_brick",
desc = "Marble Brick",
tile = "marble_white_brick.png",
craft_material = "marble:white_brick"}
)
castle_masonry.register_murderhole({
name = "white",
desc = "Marble",
tile = "marble_white.png",
craft_material = "marble:white"}
)
castle_masonry.register_murderhole({
name = "white_block",
desc = "Marble Block",
tile = "marble_white_block.png",
craft_material = "marble:white_block"}
)
castle_masonry.register_murderhole({
name = "white_brick",
desc = "Marble Brick",
tile = "marble_white_brick.png",
craft_material = "marble:white_brick"}
)
end