This repository has been archived on 2023-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
mcl_decor/api.lua

81 lines
2.3 KiB
Lua
Raw Normal View History

2022-02-22 10:30:42 +01:00
-- mcl_decor/api.lua
function mcl_decor:register_chair(name, def)
minetest.register_node(name, {
description = def.description,
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.25, 0, 0.125, 0.25, 0.5, 0.25}, -- back
{-0.25, -0.125, -0.25, 0.25, 0, 0.25}, -- seat
{-0.25, -0.5, 0.125, -0.125, -0.125, 0.25}, -- 1st leg
{0.125, -0.5, -0.25, 0.25, -0.125, -0.125}, -- 2nd leg
{0.125, -0.5, 0.125, 0.25, -0.125, 0.25}, -- 3rd leg
{-0.25, -0.5, -0.25, -0.125, -0.125, -0.125}, -- 4th leg
}
},
tiles = def.tiles,
is_ground_content = false,
paramtype = "light",
paramtype2 = "facedir",
stack_max = 64,
sunlight_propagates = true,
selection_box = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 },
},
--[[
2022-02-22 10:30:42 +01:00
collision_box = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 },
},
]]
2022-02-22 10:30:42 +01:00
groups = def.groups,
_mcl_hardness = def._mcl_hardness,
_mcl_blast_resistance = def._mcl_blast_resistance,
sounds = def.sounds,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not clicker:is_player() then
return itemstack
end
mcl_player.player_set_animation(clicker, "sit_mount", 30)
pos.y = pos.y-0.5
clicker:setpos(pos)
clicker:set_hp(20)
return itemstack
end
2022-02-22 10:30:42 +01:00
})
end
function mcl_decor:register_table(name, def)
minetest.register_node(name, {
description = def.description,
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ -0.5, 0.375, -0.5, 0.5, 0.5, 0.5 }, -- top
{ -0.4375, -0.5, -0.4375, -0.3125, 0.375, -0.3125 }, -- 1st leg
{ 0.3125, -0.5, -0.4375, 0.4375, 0.375, -0.3125 }, -- 2nd leg
{ 0.3125, -0.5, 0.3125, 0.4375, 0.375, 0.4375 }, -- 3rd leg
{ -0.4375, -0.5, 0.3125, -0.3125, 0.375, 0.4375 }, -- 4th leg
}
},
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, -- default 1x1 selection box (to override that weird selection of just the nodebox itself)
},
tiles = def.tiles,
is_ground_content = false,
paramtype = "light",
stack_max = 64,
sunlight_propagates = true,
groups = def.groups,
_mcl_hardness = def._mcl_hardness,
_mcl_blast_resistance = def._mcl_blast_resistance,
sounds = def.sounds,
-- TODO: make tables connect with each other???
})
end