2015-10-23 16:17:14 -04:00

153 lines
5.3 KiB
Lua

function glooptest.ore_module.set_tool_recipe(modname,type,material,name)
if type == "sword" then
minetest.register_craft({
recipe = {{material},{material},{"default:stick"}},
output = modname..":sword_"..name,
})
end
if type == "axe" then
minetest.register_craft({
recipe = {{material, material}, {material, "default:stick"}, {"","default:stick"}},
output = modname..":axe_"..name,
})
minetest.register_craft({
recipe = {{material, material}, {"default:stick", material}, {"default:stick", ""}},
output = modname..":axe_"..name,
})
end
if type == "pick" or type == "pickaxe" then
minetest.register_craft({
recipe = {{material, material, material}, {"","default:stick",""}, {"","default:stick",""}},
output = modname..":pick_"..name,
})
end
if type == "shovel" then
minetest.register_craft({
recipe = {{material},{"default:stick"},{"default:stick"}},
output = modname..":shovel_"..name,
})
end
if type == "handsaw" then
minetest.register_craft({
recipe = {{material, "default:stick"},{material, "default:stick"},{"", "default:stick"}},
output = modname..":handsaw_"..name,
})
minetest.register_craft({
recipe = {{"default:stick", material},{"default:stick", material},{"default:stick", ""}},
output = modname..":handsaw_"..name,
})
end
if type == "hammer" then
minetest.register_craft({
recipe = {{material, "default:stick", material}, {material, "default:stick", material}, {"", "default:stick", ""}},
output = modname..":hammer_"..name,
})
end
end
generation_ores = {}
function glooptest.ore_module.register_ore(modname, name, desc, uses)
if uses.block ~= nil and uses.block.makes ~= false then
minetest.register_node(modname..":"..name.."block", {
description = desc.." Block",
tiles = {uses.block.texture},
is_ground_content = true,
light_source = uses.block.light or 0,
groups = uses.block.groups,
sounds = uses.block.sounds
})
if uses.block.fromingots == true and uses.ingot ~= nil then
minetest.register_craft({
output = modname..":"..name.."block",
recipe = {
{modname..":"..name.."_ingot", modname..":"..name.."_ingot", modname..":"..name.."_ingot"},
{modname..":"..name.."_ingot", modname..":"..name.."_ingot", modname..":"..name.."_ingot"},
{modname..":"..name.."_ingot", modname..":"..name.."_ingot", modname..":"..name.."_ingot"}
}
})
minetest.register_craft({
output = modname..":"..name.."_ingot 9",
recipe = {
{modname..":"..name.."block"}
}
})
end
end
if uses.ore ~= nil and uses.ore.makes ~= false then
minetest.register_node(modname..":mineral_"..name, {
description = desc.." Ore",
tiles = {uses.ore.texture.base.."^"..uses.ore.texture.overlay},
is_ground_content = true,
drop = uses.ore.drop,
light_source = uses.ore.light or 0,
groups = uses.ore.groups,
sounds = uses.ore.sounds
})
minetest.register_ore({
ore_type = "scatter",
ore = modname..":mineral_"..name,
wherein = uses.ore.generate.generate_inside_of,
clust_scarcity = uses.ore.generate.chunks_per_mapblock,
clust_num_ores = uses.ore.generate.max_blocks_per_chunk,
clust_size = uses.ore.generate.chunk_size,
y_min = uses.ore.generate.miny,
y_max = uses.ore.generate.maxy,
})
end
if uses.lump ~= nil and uses.lump.makes ~= false then
minetest.register_craftitem(modname..":"..name.."_"..uses.lump.name, {
description = desc.." "..uses.lump.desc,
inventory_image = uses.lump.texture,
})
end
if uses.ingot ~= nil and uses.ingot.makes ~= false then
minetest.register_craftitem(modname..":"..name.."_ingot", {
description = desc.." Ingot",
inventory_image = uses.ingot.texture,
})
if uses.ingot.smeltrecipe == true and uses.lump ~= nil then
minetest.register_craft({
type = "cooking",
output = modname..":"..name.."_ingot",
recipe = modname..":"..name.."_"..uses.lump.name,
})
end
end
if uses.tools ~= nil and uses.tools.make ~= nil then
if uses.tools.make.sword == true then
minetest.register_tool(modname..":sword_"..name, {
description = desc.." Sword",
inventory_image = uses.tools.texture.sword,
tool_capabilities = uses.tools.caps.sword,
})
glooptest.ore_module.set_tool_recipe(modname,"sword",modname..":"..name.."_ingot",name)
end
if uses.tools.make.axe == true then
minetest.register_tool(modname..":axe_"..name, {
description = desc.." Axe",
inventory_image = uses.tools.texture.axe,
tool_capabilities = uses.tools.caps.axe,
})
glooptest.ore_module.set_tool_recipe(modname,"axe",modname..":"..name.."_ingot",name)
end
if uses.tools.make.pick == true then
minetest.register_tool(modname..":pick_"..name, {
description = desc.." Pickaxe",
inventory_image = uses.tools.texture.pick,
tool_capabilities = uses.tools.caps.pick,
})
glooptest.ore_module.set_tool_recipe(modname,"pick",modname..":"..name.."_ingot",name)
end
if uses.tools.make.shovel == true then
minetest.register_tool(modname..":shovel_"..name, {
description = desc.." Shovel",
inventory_image = uses.tools.texture.shovel,
wield_image = uses.tools.texture.shovel.."^[transformR90",
tool_capabilities = uses.tools.caps.shovel,
})
glooptest.ore_module.set_tool_recipe(modname,"shovel",modname..":"..name.."_ingot",name)
end
end
end