summaryrefslogtreecommitdiff
path: root/upgrades.lua
blob: 8f0c6fba4bdd8c76285081fdc805238c9fa31749 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
-- re-applies the "_digtron_formspec" property from all digtron node defs to the digtron node's metadata.
minetest.register_lbm({
	name = "digtron:generic_formspec_sanitizer",
	nodenames = {"group:digtron"},
	action = function(pos, node)
		local node_def = minetest.registered_nodes[node.name]
		local meta = minetest.get_meta(pos)
		meta:set_string("formspec", node_def._digtron_formspec)
	end
})

minetest.register_lbm({
	name = "digtron:sand_digger_upgrade",
	nodenames = {"digtron:sand_digger"},
	action = function(pos, node)
		local meta = minetest.get_meta(pos)
		local offset = meta:get_string("offset")
		local period = meta:get_string("period")
		minetest.set_node(pos, {name = "digtron:soft_digger",
			param2 = node.param2})
		meta:set_string("offset", offset)
		meta:set_string("period", period)
	end
})

minetest.register_lbm({
	name = "digtron:fuelstore_upgrade",
	nodenames = {"digtron:fuelstore"},
	action = function(pos, node)
		local meta = minetest.get_meta(pos)
		local inv = meta:get_inventory()
		local list = inv:get_list("main")
		inv:set_list("main", {})
		inv:set_list("fuel", list)		
	end
})

minetest.register_lbm({
	name = "digtron:autocontroller_lateral_upgrade",
	nodenames = {"digtron:auto_controller"},
	action = function(pos, node)
		local meta = minetest.get_meta(pos)
		local cycles = meta:get_int("offset")
		meta:set_int("cycles", cycles)
		meta:set_int("offset", 0)
		meta:set_int("slope", 0)
	end
})

minetest.register_lbm({
	name = "digtron:builder_extrusion_upgrade",
	nodenames = {"digtron:builder"},
	action = function(pos, node)
		local meta = minetest.get_meta(pos)
		meta:set_int("extrusion", 1)
	end
})