Cristiano Magro
2020-10-14 e628760d271b2a28b32ddf31a18463e8d63e9362
commit | author | age
731a82 1 --[[
S 2 supported_nodes
3 This table stores all nodes that are compatible with the wrench mod.
4 Syntax:
5     [<node name>] = {
6         lists = {"<inventory list name>"},
7         metas = {["<meta name>"] = STRING,
8             ["<meta name>"] = INT,
9             ["<meta name>"] = FLOAT},
10         owned = true,
11         store_meta_always = true,
12     }
13     owned - nodes that are protected by owner requirements (Ex. locked chests)
4f78a6 14     store_meta_always - when nodes are broken this ensures metadata and
731a82 15     inventory is always stored (Ex. active state for machines)
S 16 --]]
17
18 wrench.META_TYPE_FLOAT = 1
19 wrench.META_TYPE_STRING = 2
20
a8daa4 21 local STRING, FLOAT  =
731a82 22     wrench.META_TYPE_STRING,
S 23     wrench.META_TYPE_FLOAT
24
25 wrench.registered_nodes = {
26     ["default:chest"] = {
27         lists = {"main"},
28     },
29     ["default:chest_locked"] = {
30         lists = {"main"},
31         metas = {owner = STRING,
32             infotext = STRING},
33         owned = true,
34     },
35     ["default:furnace"] = {
36         lists = {"fuel", "src", "dst"},
37         metas = {infotext = STRING,
38             fuel_totaltime = FLOAT,
39             fuel_time = FLOAT,
40             src_totaltime = FLOAT,
41             src_time = FLOAT},
42     },
43     ["default:furnace_active"] = {
44         lists = {"fuel", "src", "dst"},
45         metas = {infotext = STRING,
46             fuel_totaltime = FLOAT,
47             fuel_time = FLOAT,
48             src_totaltime = FLOAT,
49             src_time = FLOAT},
50         store_meta_always = true,
51     },
52     ["default:sign_wall"] = {
53         metas = {infotext = STRING,
54             text = STRING},
55     },
56 }
57
58 function wrench:original_name(name)
59     for key, value in pairs(self.registered_nodes) do
60         if name == value.name then
61             return key
62         end
63     end
64 end
65
66 function wrench:register_node(name, def)
ab6f2b 67     if minetest.registered_nodes[name] then
R 68         self.registered_nodes[name] = def
69     end
731a82 70 end
S 71