forked from mtcontrib/darkage
290 lines
7.9 KiB
Lua
290 lines
7.9 KiB
Lua
minetest.register_node("darkage:chain", {
|
|
description = "Chain",
|
|
drawtype = "signlike",
|
|
tiles = {"darkage_chain.png"},
|
|
inventory_image = "darkage_chain.png",
|
|
wield_image = "darkage_chain.png",
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
is_ground_content = false,
|
|
walkable = false,
|
|
climbable = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
--wall_top = = <default>
|
|
--wall_bottom = = <default>
|
|
--wall_side = = <default>
|
|
},
|
|
groups = {snappy=1, cracky=2, oddly_breakable_by_hand=2, not_cuttable=1},
|
|
legacy_wallmounted = true
|
|
})
|
|
|
|
|
|
local box_formspec = [[
|
|
size[8,9]
|
|
list[context;main;0,0.3;8,4;]
|
|
list[current_player;main;0,4.85;8,1;]
|
|
list[current_player;main;0,6.08;8,3;8]
|
|
listring[context;main]
|
|
listring[current_player;main]
|
|
]].. darkage.formbg
|
|
|
|
minetest.register_node("darkage:box", {
|
|
description = "Box",
|
|
tiles = { "darkage_box_top.png","darkage_box_top.png","darkage_box.png"},
|
|
groups = { snappy = 3, not_cuttable=1 },
|
|
sounds = default.node_sound_wood_defaults(),
|
|
on_construct = function(pos)
|
|
local meta = minetest.get_meta(pos)
|
|
meta:set_string("formspec", box_formspec )
|
|
meta:set_string("infotext", "Box")
|
|
local inv = meta:get_inventory()
|
|
inv:set_size("main", 16)
|
|
end,
|
|
can_dig = function(pos,player)
|
|
local meta = minetest.get_meta(pos);
|
|
local inv = meta:get_inventory()
|
|
return inv:is_empty("main")
|
|
end,
|
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
|
minetest.log("action", player:get_player_name()..
|
|
" moves stuff in box at "..minetest.pos_to_string(pos))
|
|
end,
|
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
|
minetest.log("action", player:get_player_name()..
|
|
" moves stuff to box at "..minetest.pos_to_string(pos))
|
|
end,
|
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
|
minetest.log("action", player:get_player_name()..
|
|
" takes stuff from box at "..minetest.pos_to_string(pos))
|
|
end,
|
|
})
|
|
|
|
local shelves_formspec = [[
|
|
size[8,9]
|
|
list[context;up;0,0;8,2;]
|
|
list[context;down;0,2.3;8,2;]
|
|
|
|
list[current_player;main;0,4.85;8,1;]
|
|
list[current_player;main;0,6.08;8,3;8]
|
|
listring[context;up]
|
|
listring[context;down]
|
|
listring[current_player;main]
|
|
]].. darkage.formbg
|
|
|
|
minetest.register_node("darkage:wood_shelves", {
|
|
description = "Wooden Shelves",
|
|
tiles = { "darkage_shelves.png","darkage_shelves.png","darkage_shelves.png",
|
|
"darkage_shelves.png","darkage_shelves.png","darkage_shelves_front.png"},
|
|
paramtype2 = "facedir",
|
|
groups = { snappy = 3, not_cuttable=1 },
|
|
sounds = default.node_sound_wood_defaults(),
|
|
on_construct = function(pos)
|
|
local meta = minetest.get_meta(pos)
|
|
meta:set_string("formspec", shelves_formspec)
|
|
meta:set_string("infotext", "Wooden Shelves")
|
|
local inv = meta:get_inventory()
|
|
inv:set_size("up", 16)
|
|
inv:set_size("down", 16)
|
|
end,
|
|
can_dig = function(pos,player)
|
|
local meta = minetest.get_meta(pos);
|
|
local inv = meta:get_inventory()
|
|
return inv:is_empty("up") and inv:is_empty("down")
|
|
end,
|
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
|
minetest.log("action", player:get_player_name()..
|
|
" moves stuff in shelves at "..minetest.pos_to_string(pos))
|
|
end,
|
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
|
minetest.log("action", player:get_player_name()..
|
|
" moves stuff to shelves at "..minetest.pos_to_string(pos))
|
|
end,
|
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
|
minetest.log("action", player:get_player_name()..
|
|
" takes stuff from shelves at "..minetest.pos_to_string(pos))
|
|
end,
|
|
})
|
|
|
|
--minetest.register_node("darkage:rosace", {
|
|
-- description = "Rose Window",
|
|
-- tiles = {"darkage_rosace.png"},
|
|
-- is_ground_content = false,
|
|
-- groups = {cracky=3},
|
|
-- sounds = default.node_sound_stone_defaults()
|
|
--})
|
|
|
|
minetest.register_node("darkage:iron_bars", {
|
|
description = "Iron Bars",
|
|
drawtype = "glasslike",
|
|
tiles = {"darkage_iron_bars.png"},
|
|
inventory_image = "darkage_iron_bars.png",
|
|
wield_image = "darkage_iron_bars.png",
|
|
is_ground_content = false,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
groups = {cracky=3 , not_cuttable=1},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node("darkage:lamp", {
|
|
description = "Lamp",
|
|
tiles = { "darkage_lamp.png" },
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
light_source = default.LIGHT_MAX-1,
|
|
groups = {snappy=2, cracky=3, oddly_breakable_by_hand=3, flammable=1 , not_cuttable=1},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
minetest.register_node("darkage:iron_grille", {
|
|
description = "Iron Grille",
|
|
drawtype = "glasslike",
|
|
tiles = {"darkage_iron_grille.png"},
|
|
inventory_image = "darkage_iron_grille.png",
|
|
wield_image = "darkage_iron_grille.png",
|
|
is_ground_content = false,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
groups = {cracky=3 , not_cuttable=1},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node("darkage:wood_bars", {
|
|
description = "Wooden Bars",
|
|
drawtype = "glasslike",
|
|
tiles = {"darkage_wood_bars.png"},
|
|
inventory_image = "darkage_wood_bars.png",
|
|
wield_image = "darkage_wood_bars.png",
|
|
is_ground_content = false,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
groups = {snappy=1, choppy=2, not_cuttable=1},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node("darkage:wood_grille", {
|
|
description = "Wooden Grille",
|
|
drawtype = "glasslike",
|
|
tiles = {"darkage_wood_grille.png"},
|
|
inventory_image = "darkage_wood_grille.png",
|
|
wield_image = "darkage_wood_grille.png",
|
|
is_ground_content = false,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
groups = {snappy=1, choppy=2, not_cuttable=1},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node("darkage:wood_frame", {
|
|
description = "Wooden Frame",
|
|
drawtype = "glasslike_framed",
|
|
tiles = {"darkage_wood_frame.png"},
|
|
inventory_image = "darkage_wood_frame.png",
|
|
wield_image = "darkage_wood_frame.png",
|
|
is_ground_content = false,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
groups = {snappy=1, choppy=2, oddly_breakable_by_hand = 3, not_cuttable=1},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
---------------
|
|
-- Crafts Item
|
|
---------------
|
|
|
|
|
|
----------
|
|
-- Crafts
|
|
----------
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:box",
|
|
recipe = {
|
|
{"default:wood", "", "default:wood"},
|
|
{"", "", ""},
|
|
{"default:wood", "", "default:wood"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:chain 2",
|
|
recipe = {
|
|
{"darkage:iron_stick"},
|
|
{"darkage:iron_stick"},
|
|
{"darkage:iron_stick"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:iron_bars 2",
|
|
recipe = {
|
|
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
|
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
|
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:iron_grille 3",
|
|
recipe = {
|
|
{"", "darkage:iron_bars", ""},
|
|
{"darkage:iron_bars", "", "darkage:iron_bars"},
|
|
{"", "darkage:iron_bars", ""},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:lamp",
|
|
recipe = {
|
|
{"group:stick", "", "group:stick"},
|
|
{"", "default:torch", ""},
|
|
{"group:stick", "", "group:stick"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:wood_bars 2",
|
|
recipe = {
|
|
{"group:stick", "", "group:stick"},
|
|
{"group:stick", "", "group:stick"},
|
|
{"group:stick", "", "group:stick"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:wood_grille 3",
|
|
recipe = {
|
|
{"", "darkage:wood_bars", ""},
|
|
{"darkage:wood_bars", "", "darkage:wood_bars"},
|
|
{"", "darkage:wood_bars", ""},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:wood_shelves",
|
|
recipe = {
|
|
{"darkage:box"},
|
|
{"darkage:box"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "darkage:wood_frame",
|
|
recipe = {
|
|
{"group:stick", "", "group:stick"},
|
|
{"", "default:glass", ""},
|
|
{"group:stick", "", "group:stick"},
|
|
}
|
|
})
|
|
|
|
|
|
-- Cookings
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "default:glass",
|
|
recipe = "darkage:wood_frame",
|
|
})
|
|
|
|
|