1 local craftitem_place_item = function(item, player, pos)
2 minetest.env:add_item(pos, 'CraftItem "' .. item .. '" 1')
6 minetest.register_craft({
7 output = 'CraftItem "bucket" 1',
9 {'CraftItem "steel_ingot"', '', 'CraftItem "steel_ingot"'},
10 {'', 'CraftItem "steel_ingot"', ''},
14 minetest.register_craftitem("bucket", {
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')
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')
36 minetest.register_craftitem("bucket_water", {
37 image = "bucket_water.png",
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
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"})
49 minetest.env:add_node(pointed_thing.above, {name="water_source"})
51 player:add_to_inventory_later('CraftItem "bucket" 1')
58 minetest.register_craftitem("bucket_lava", {
59 image = "bucket_lava.png",
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
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"})
71 minetest.env:add_node(pointed_thing.above, {name="lava_source"})
73 player:add_to_inventory_later('CraftItem "bucket" 1')