]> git.lizzy.rs Git - minetest.git/blob - data/mods/bucket/init.lua
Add get_wielded_itemstring, get_wielded_item, damage_wielded_item and make getacceler...
[minetest.git] / data / mods / bucket / init.lua
1 local craftitem_place_item = function(item, player, pos)
2         minetest.env:add_item(pos, 'CraftItem "' .. item .. '" 1')
3         return true
4 end
5
6 minetest.register_craft({
7         output = 'CraftItem "bucket" 1',
8         recipe = {
9                 {'CraftItem "steel_ingot"', '', 'CraftItem "steel_ingot"'},
10                 {'', 'CraftItem "steel_ingot"', ''},
11         }
12 })
13
14 minetest.register_craftitem("bucket", {
15         image = "bucket.png",
16         stack_max = 1,
17         liquids_pointable = true,
18         on_place_on_ground = craftitem_place_item,
19         on_use = function(item, player, pointed_thing)
20                 if pointed_thing.type == "node" then
21                         n = minetest.env:get_node(pointed_thing.under)
22                         if n.name == "water_source" then
23                                 minetest.env:add_node(pointed_thing.under, {name="air"})
24                                 player:add_to_inventory_later('CraftItem "bucket_water" 1')
25                                 return true
26                         elseif n.name == "lava_source" then
27                                 minetest.env:add_node(pointed_thing.under, {name="air"})
28                                 player:add_to_inventory_later('CraftItem "bucket_lava" 1')
29                                 return true
30                         end
31                 end
32                 return false
33         end,
34 })
35
36 minetest.register_craftitem("bucket_water", {
37         image = "bucket_water.png",
38         stack_max = 1,
39         liquids_pointable = true,
40         on_place_on_ground = craftitem_place_item,
41         on_use = function(item, player, pointed_thing)
42                 if pointed_thing.type == "node" then
43                         n = minetest.env:get_node(pointed_thing.under)
44                         if n.name == "water_source" then
45                                 -- unchanged
46                         elseif n.name == "water_flowing" or n.name == "lava_source" or n.name == "lava_flowing" then
47                                 minetest.env:add_node(pointed_thing.under, {name="water_source"})
48                         else
49                                 minetest.env:add_node(pointed_thing.above, {name="water_source"})
50                         end
51                         player:add_to_inventory_later('CraftItem "bucket" 1')
52                         return true
53                 end
54                 return false
55         end,
56 })
57
58 minetest.register_craftitem("bucket_lava", {
59         image = "bucket_lava.png",
60         stack_max = 1,
61         liquids_pointable = true,
62         on_place_on_ground = craftitem_place_item,
63         on_use = function(item, player, pointed_thing)
64                 if pointed_thing.type == "node" then
65                         n = minetest.env:get_node(pointed_thing.under)
66                         if n.name == "lava_source" then
67                                 -- unchanged
68                         elseif n.name == "water_source" or n.name == "water_flowing" or n.name == "lava_flowing" then
69                                 minetest.env:add_node(pointed_thing.under, {name="lava_source"})
70                         else
71                                 minetest.env:add_node(pointed_thing.above, {name="lava_source"})
72                         end
73                         player:add_to_inventory_later('CraftItem "bucket" 1')
74                         return true
75                 end
76                 return false
77         end,
78 })