From 888b0ebfec8c2eff9015163549a7e47443cb8665 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 1 Apr 2016 21:00:20 -0400 Subject: "explode" all modpacks into their individual components (you can't have a modpack buried inside a modpack) --- glooptest/ore_module/api.lua | 152 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 glooptest/ore_module/api.lua (limited to 'glooptest/ore_module/api.lua') diff --git a/glooptest/ore_module/api.lua b/glooptest/ore_module/api.lua new file mode 100644 index 0000000..7cf35ab --- /dev/null +++ b/glooptest/ore_module/api.lua @@ -0,0 +1,152 @@ +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 -- cgit v1.2.3