63 lines
1.8 KiB
Lua
63 lines
1.8 KiB
Lua
PyuTest.make_item("pyutest_buckets:bucket", "Empty Bucket", {}, "pyutest-bucket.png", {
|
|
pointabilities = {
|
|
nodes = {
|
|
["group:liquid_source"] = true
|
|
}
|
|
},
|
|
|
|
on_place = function(itemstack, user, pointed_thing)
|
|
if user == nil then
|
|
return
|
|
end
|
|
|
|
if pointed_thing.type == "node" then
|
|
local pos = pointed_thing.under
|
|
local node = core.get_node(pos)
|
|
local def = core.registered_nodes[node.name]
|
|
|
|
if def.__bucket then
|
|
PyuTest.give_item_or_drop(ItemStack(def.__bucket), user:get_inventory(), "main", user:get_pos())
|
|
core.remove_node(pos)
|
|
|
|
itemstack:take_item()
|
|
return itemstack
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
core.register_craft({
|
|
output = "pyutest_buckets:bucket",
|
|
recipe = {
|
|
{ "pyutest_ores:iron_ingot", "", "pyutest_ores:iron_ingot" },
|
|
{ "", "pyutest_ores:iron_ingot", "" }
|
|
}
|
|
})
|
|
|
|
PyuTest.make_liquid_bucket = function(name, desc, source, color)
|
|
local texture = string.format("pyutest-bucket.png^(pyutest-bucket-overlay.png^[colorize:%s)", color)
|
|
|
|
PyuTest.make_node(name, desc, {
|
|
bucket = 1
|
|
}, {}, {
|
|
drawtype = "airlike",
|
|
walkable = false,
|
|
pointable = false,
|
|
wield_image = texture,
|
|
inventory_image = texture,
|
|
|
|
after_place_node = function(pos, placer)
|
|
if placer == nil then return end
|
|
PyuTest.give_item_or_drop(ItemStack("pyutest_buckets:bucket"), placer:get_inventory(), "main", placer:get_pos())
|
|
core.set_node(pos, { name = source })
|
|
end,
|
|
})
|
|
|
|
core.override_item(source, {
|
|
__bucket = name,
|
|
})
|
|
end
|
|
|
|
PyuTest.make_liquid_bucket("pyutest_buckets:water_bucket", "Water Bucket", "pyutest_blocks:water_source", "blue")
|
|
PyuTest.make_liquid_bucket("pyutest_buckets:lava_bucket", "Lava Bucket", "pyutest_blocks:lava_source", "orange")
|