Fix cactus brick stair groups
[minetest_hades/hades_revisited.git] / mods / trash_can / init.lua
blobf159581dd238446a932c6246d010728d79a6a8a5
1 local S = minetest.get_translator("trash_can")
2 local F = minetest.formspec_escape
4 --Node Registration
5 local player_name = {}
6 minetest.register_node("trash_can:trash_can_wooden",{
7 groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2},
8 tiles = {"trash_can_wooden_top.png", "trash_can_wooden_top.png", "trash_can_wooden.png"},
9 description = S("Trash Can"),
10 _tt_help = S("Lets you get rid of trash"),
11 drawtype="nodebox",
12 paramtype = "light",
13 is_ground_content = false,
14 node_box = {
15 type = "fixed",
16 fixed = {
17 {-0.375000,-0.500000,0.312500,0.375000,0.500000,0.375000},
18 {0.312500,-0.500000,-0.375000,0.375000,0.500000,0.375000},
19 {-0.375000,-0.500000,-0.375000,0.375000,0.500000,-0.312500},
20 {-0.375000,-0.500000,-0.375000,-0.312500,0.500000,0.375000},
21 {-0.312500,-0.500000,-0.312500,0.312500,-0.437500,0.312500},
24 on_construct = function(pos)
25 local meta = minetest.get_meta(pos)
26 meta:set_string("formspec",
27 "size[8,9]"..
28 "button[3,0;2,1;empty;"..F(S("Empty Trash")).."]"..
29 "list[current_name;main;3,1;2,3;]"..
30 "list[current_player;main;0,5;8,4;]"..
31 "listring[]"..
32 "background9[18,17;8,9;trash_can_inventory.png;true;18,17,-22,-17]")
33 meta:set_string("infotext", S("Trash Can"))
34 local inv = meta:get_inventory()
35 inv:set_size("main", 8*4)
36 end,
37 can_dig = function(pos,player)
38 local meta = minetest.get_meta(pos);
39 local inv = meta:get_inventory()
40 return inv:is_empty("main")
41 end,
42 on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
43 minetest.log("action", player:get_player_name()..
44 " moves stuff in trash can at "..minetest.pos_to_string(pos))
45 end,
46 on_metadata_inventory_put = function(pos, listname, index, stack, player)
47 minetest.log("action", player:get_player_name()..
48 " moves stuff to trash can at "..minetest.pos_to_string(pos))
49 end,
50 on_metadata_inventory_take = function(pos, listname, index, stack, player)
51 minetest.log("action", player:get_player_name()..
52 " takes stuff from trash can at "..minetest.pos_to_string(pos))
53 end,
54 on_receive_fields = function(pos, formname, fields, sender)
55 if fields.empty then
56 local meta = minetest.get_meta(pos)
57 local inv = meta:get_inventory()
58 for i = 1, inv:get_size("main") do
59 inv:set_stack("main", i, nil)
60 end
61 local player_name = sender:get_player_name()
62 minetest.sound_play("trash", {to_player=player_name, gain = 1.0}, false)
63 end
64 end,
65 sounds = hades_sounds.node_sound_defaults(),
68 --Crafting
70 minetest.register_craft({
71 output = 'trash_can:trash_can_wooden',
72 recipe = {
73 {'hades_materials:plastic_base', '', 'hades_materials:plastic_base'},
74 {'hades_materials:plastic_base', '', 'hades_materials:plastic_base'},
75 {'hades_materials:plastic_base', 'hades_materials:plastic_base', 'hades_materials:plastic_base'},