RealBadAngel
2012-11-08 306b407a38b087b59c92d23c0c1f7c3e8fb7ce4e
commit | author | age
cbcdbf 1 water_can_max_load = 16
MK 2 lava_can_max_load = 8
3
4 minetest.register_craft({
5     output = 'technic:water_can 1',
6     recipe = {
7         {'technic:zinc_ingot', 'technic:rubber','technic:zinc_ingot'},
8         {'default:steel_ingot', '', 'default:steel_ingot'},
9         {'technic:zinc_ingot', 'default:steel_ingot', 'technic:zinc_ingot'},
10     }
11 })
12
13 minetest.register_craft({
14     output = 'technic:lava_can 1',
15     recipe = {
16         {'technic:zinc_ingot', 'technic:stainless_steel_ingot','technic:zinc_ingot'},
17         {'technic:stainless_steel_ingot', '', 'technic:stainless_steel_ingot'},
18         {'technic:zinc_ingot', 'technic:stainless_steel_ingot', 'technic:zinc_ingot'},
19     }
20 })
21
22
23 minetest.register_tool("technic:water_can", {
24     description = "Water Can",
25     inventory_image = "technic_water_can.png",
26     stack_max = 1,
27     liquids_pointable = true,
28     on_use = function(itemstack, user, pointed_thing)
29         
30         if pointed_thing.type ~= "node" then
31                     return end
32         
33         n = minetest.env:get_node(pointed_thing.under)
34         if n.name == "default:water_source" then
35             item=itemstack:to_table()
36             local load=tonumber((item["wear"])) 
37             if  load==0 then load =65535 end
38             load=get_RE_item_load(load,water_can_max_load)
39             if load+1<17 then
40             minetest.env:add_node(pointed_thing.under, {name="air"})
41              load=load+1;    
42             load=set_RE_item_load(load,water_can_max_load)
43             item["wear"]=tostring(load)
44             itemstack:replace(item)
45             end
46             return itemstack
47         end
48         item=itemstack:to_table()
49             load=tonumber((item["wear"])) 
50             if  load==0 then load =65535 end
51             load=get_RE_item_load(load,water_can_max_load)
52             if load==0 then return end
53             
54         if n.name == "default:water_flowing" then
55             minetest.env:add_node(pointed_thing.under, {name="default:water_source"})
56             load=load-1;    
57             load=set_RE_item_load(load,water_can_max_load)
58             item["wear"]=tostring(load)
59             itemstack:replace(item)
60             return itemstack
61             end
62
63         n = minetest.env:get_node(pointed_thing.above)
64         if n.name == "air" then
65             minetest.env:add_node(pointed_thing.above, {name="default:water_source"})
66             load=load-1;    
67             load=set_RE_item_load(load,water_can_max_load)
68             item["wear"]=tostring(load)
69             itemstack:replace(item)
70             return itemstack
71             end        
72     end,
73 })
74
75 minetest.register_tool("technic:lava_can", {
76     description = "Lava Can",
77     inventory_image = "technic_lava_can.png",
78     stack_max = 1,
79     liquids_pointable = true,
80     on_use = function(itemstack, user, pointed_thing)
81         
82         if pointed_thing.type ~= "node" then
83                     return end
84         
85         n = minetest.env:get_node(pointed_thing.under)
86         if n.name == "default:lava_source" then
87             item=itemstack:to_table()
88             local load=tonumber((item["wear"])) 
89             if  load==0 then load =65535 end
90             load=get_RE_item_load(load,lava_can_max_load)
91             if load+1<9 then
92             minetest.env:add_node(pointed_thing.under, {name="air"})
93              load=load+1;    
3f6132 94             load=set_RE_item_load(load,lava_can_max_load)
cbcdbf 95             item["wear"]=tostring(load)
MK 96             itemstack:replace(item)
97             end
98             return itemstack
99         end
100         item=itemstack:to_table()
101             load=tonumber((item["wear"])) 
102             if  load==0 then load =65535 end
3f6132 103             load=get_RE_item_load(load,lava_can_max_load)
cbcdbf 104             if load==0 then return end
MK 105             
106         if n.name == "default:lava_flowing" then
107             minetest.env:add_node(pointed_thing.under, {name="default:lava_source"})
108             load=load-1;    
3f6132 109             load=set_RE_item_load(load,lava_can_max_load)
cbcdbf 110             item["wear"]=tostring(load)
MK 111             itemstack:replace(item)
112             return itemstack
113             end
114
115         n = minetest.env:get_node(pointed_thing.above)
116         if n.name == "air" then
117             minetest.env:add_node(pointed_thing.above, {name="default:lava_source"})
118             load=load-1;    
3f6132 119             load=set_RE_item_load(load,lava_can_max_load)
cbcdbf 120             item["wear"]=tostring(load)
MK 121             itemstack:replace(item)
122             return itemstack
123             end        
124     end,
125 })