1 -- bucket (Minetest 0.4 mod)
2 -- A bucket, which can pick up water and lava
4 minetest.alias_craftitem("bucket", "bucket:bucket_empty")
5 minetest.alias_craftitem("bucket_water", "bucket:bucket_water")
6 minetest.alias_craftitem("bucket_lava", "bucket:bucket_lava")
8 minetest.register_craft({
9 output = 'craft "bucket:bucket_empty" 1',
11 {'craft "steel_ingot"', '', 'craft "steel_ingot"'},
12 {'', 'craft "steel_ingot"', ''},
16 minetest.register_craftitem("bucket:bucket_empty", {
19 liquids_pointable = true,
20 on_place_on_ground = minetest.craftitem_place_item,
21 on_use = function(item, player, pointed_thing)
22 if pointed_thing.type == "node" then
23 n = minetest.env:get_node(pointed_thing.under)
24 if n.name == "water_source" then
25 minetest.env:add_node(pointed_thing.under, {name="air"})
26 player:add_to_inventory_later('craft "bucket:bucket_water" 1')
28 elseif n.name == "lava_source" then
29 minetest.env:add_node(pointed_thing.under, {name="air"})
30 player:add_to_inventory_later('craft "bucket:bucket_lava" 1')
38 minetest.register_craftitem("bucket:bucket_water", {
39 image = "bucket_water.png",
41 liquids_pointable = true,
42 on_place_on_ground = minetest.craftitem_place_item,
43 on_use = function(item, player, pointed_thing)
44 if pointed_thing.type == "node" then
45 n = minetest.env:get_node(pointed_thing.under)
46 if n.name == "water_source" then
48 elseif n.name == "water_flowing" or n.name == "lava_source" or n.name == "lava_flowing" then
49 minetest.env:add_node(pointed_thing.under, {name="water_source"})
51 minetest.env:add_node(pointed_thing.above, {name="water_source"})
53 player:add_to_inventory_later('craft "bucket:bucket_empty" 1')
60 minetest.register_craftitem("bucket:bucket_lava", {
61 image = "bucket_lava.png",
63 liquids_pointable = true,
64 on_place_on_ground = minetest.craftitem_place_item,
65 on_use = function(item, player, pointed_thing)
66 if pointed_thing.type == "node" then
67 n = minetest.env:get_node(pointed_thing.under)
68 if n.name == "lava_source" then
70 elseif n.name == "water_source" or n.name == "water_flowing" or n.name == "lava_flowing" then
71 minetest.env:add_node(pointed_thing.under, {name="lava_source"})
73 minetest.env:add_node(pointed_thing.above, {name="lava_source"})
75 player:add_to_inventory_later('craft "bucket:bucket_empty" 1')