summaryrefslogtreecommitdiff
path: root/glooptest/tools_module/api.lua
diff options
context:
space:
mode:
Diffstat (limited to 'glooptest/tools_module/api.lua')
-rw-r--r--glooptest/tools_module/api.lua98
1 files changed, 98 insertions, 0 deletions
diff --git a/glooptest/tools_module/api.lua b/glooptest/tools_module/api.lua
new file mode 100644
index 0000000..5db65f9
--- /dev/null
+++ b/glooptest/tools_module/api.lua
@@ -0,0 +1,98 @@
+function glooptest.tools_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
+
+function glooptest.tools_module.register_tools(modname, name, desc, material, uses)
+ if uses.handsaw ~= nil and uses.handsaw.makes ~= false then
+ minetest.register_tool(modname..":handsaw_"..name, {
+ description = desc.." Handsaw",
+ inventory_image = uses.handsaw.texture,
+ tool_capabilities = uses.handsaw.caps,
+ })
+ glooptest.tools_module.set_tool_recipe(modname,"handsaw",material,name)
+ end
+ if uses.hammer ~= nil and uses.hammer.makes ~= false then
+ minetest.register_tool(modname..":hammer_"..name, {
+ description = desc.." Hammer",
+ inventory_image = uses.hammer.texture,
+ tool_capabilities = uses.hammer.caps,
+ })
+ glooptest.tools_module.set_tool_recipe(modname,"hammer",material,name)
+ end
+ if uses.sword ~= nil and uses.sword.makes ~= false then
+ minetest.register_tool(modname..":sword_"..name, {
+ description = desc.." Sword",
+ inventory_image = uses.sword.texture,
+ tool_capabilities = uses.sword.caps,
+ })
+ glooptest.tools_module.set_tool_recipe(modname,"sword",material,name)
+ end
+ if uses.axe ~= nil and uses.axe.makes ~= false then
+ minetest.register_tool(modname..":axe_"..name, {
+ description = desc.." Axe",
+ inventory_image = uses.axe.texture,
+ tool_capabilities = uses.axe.caps,
+ })
+ glooptest.tools_module.set_tool_recipe(modname,"axe",material,name)
+ end
+ if uses.pick ~= nil and uses.pick.makes ~= false then
+ minetest.register_tool(modname..":pick_"..name, {
+ description = desc.." Pickaxe",
+ inventory_image = uses.pick.texture,
+ tool_capabilities = uses.pick.caps,
+ })
+ glooptest.tools_module.set_tool_recipe(modname,"pick",material,name)
+ end
+ if uses.shovel ~= nil and uses.shovel.makes ~= false then
+ minetest.register_tool(modname..":shovel_"..name, {
+ description = desc.." Shovel",
+ inventory_image = uses.shovel.texture,
+ wield_image = uses.shovel.texture.."^[transformR90",
+ tool_capabilities = uses.shovel.caps,
+ })
+ glooptest.tools_module.set_tool_recipe(modname,"shovel",material,name)
+ end
+end \ No newline at end of file