VoxeLibre/mods/ITEMS/mcl_armor/init.lua

381 lines
12 KiB
Lua
Raw Normal View History

2020-02-18 15:44:54 +01:00
local S = minetest.get_translator("mcl_armor")
2019-03-08 00:51:45 +01:00
2021-03-17 15:21:27 +01:00
mcl_armor = {
elements = {
{
name = "helmet",
description = S("Helmet"),
durability = 0.6875,
recipe = function(m)
return {
{ m, m, m},
{ m, "", m},
{"", "", ""},
}
end,
},
{
name = "chestplate",
description = S("Chestplate"),
durability = 1.0,
recipe = function(m)
return {
{ m, "", m},
{ m, m, m},
{ m, m, m},
}
end,
},
{
name = "leggings",
description = S("Leggings"),
durability = 0.9375,
recipe = function(m)
return {
{ m, m, m},
{ m, "", m},
{ m, "", m},
}
end,
},
{
name = "boots",
description = S("Boots"),
durability = 0.8125,
recipe = function(m)
return {
{ m, "", m},
{ m, "", m},
}
end,
},
},
longdesc = S("This is a piece of equippable armor which reduces the amount of damage you receive."),
usagehelp = S("To equip it, put it on the corresponding armor slot in your inventory menu."),
}
2015-06-29 19:55:56 +02:00
2021-03-17 15:21:27 +01:00
local modpath = minetest.get_modpath("mcl_armor")
dofile(modpath .. "/damage.lua")
dofile(modpath .. "/alias.lua")
dofile(modpath .. "/items.lua")
dofile(modpath .. "/enchantments.lua")
2015-06-29 19:55:56 +02:00
2021-03-17 15:21:27 +01:00
-- Regisiter Head Armor
2017-03-18 15:43:15 +01:00
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:helmet_leather", {
2019-03-08 00:51:45 +01:00
description = S("Leather Cap"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_helmet_leather.png",
2020-11-25 12:47:27 +01:00
groups = {armor_head=1, mcl_armor_points=1, mcl_armor_uses=56, enchantability=15},
_repair_material = "mcl_mobitems:leather",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_leather",
_mcl_armor_unequip = "mcl_armor_unequip_leather",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:helmet_iron", {
2019-03-08 00:51:45 +01:00
description = S("Iron Helmet"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_helmet_iron.png",
2020-11-25 12:47:27 +01:00
groups = {armor_head=1, mcl_armor_points=2, mcl_armor_uses=166, enchantability=9 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
2020-02-18 07:33:08 +01:00
},
2020-02-18 22:05:08 +01:00
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:helmet_gold", {
2019-03-08 00:51:45 +01:00
description = S("Golden Helmet"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_helmet_gold.png",
2020-11-25 12:47:27 +01:00
groups = {armor_head=1, mcl_armor_points=2, mcl_armor_uses=78, enchantability=25 },
_repair_material = "mcl_core:gold_ingot",
2020-02-18 16:36:22 +01:00
sounds = {
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:helmet_diamond",{
2019-03-08 00:51:45 +01:00
description = S("Diamond Helmet"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_helmet_diamond.png",
2020-11-25 12:47:27 +01:00
groups = {armor_head=1, mcl_armor_points=3, mcl_armor_uses=364, mcl_armor_toughness=2, enchantability=10 },
_repair_material = "mcl_core:diamond",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_diamond",
_mcl_armor_unequip = "mcl_armor_unequip_diamond",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:helmet_chain", {
2019-03-08 00:51:45 +01:00
description = S("Chain Helmet"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_helmet_chain.png",
2020-11-25 12:47:27 +01:00
groups = {armor_head=1, mcl_armor_points=2, mcl_armor_uses=166, enchantability=12 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_chainmail",
_mcl_armor_unequip = "mcl_armor_unequip_chainmail",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
-- Regisiter Torso Armor
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:chestplate_leather", {
2019-03-08 00:51:45 +01:00
description = S("Leather Tunic"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_chestplate_leather.png",
2020-11-25 12:47:27 +01:00
groups = {armor_torso=1, mcl_armor_points=3, mcl_armor_uses=81, enchantability=15 },
_repair_material = "mcl_mobitems:leather",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_leather",
_mcl_armor_unequip = "mcl_armor_unequip_leather",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:chestplate_iron", {
2019-03-08 00:51:45 +01:00
description = S("Iron Chestplate"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_chestplate_iron.png",
2020-11-25 12:47:27 +01:00
groups = {armor_torso=1, mcl_armor_points=6, mcl_armor_uses=241, enchantability=9 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:chestplate_gold", {
2019-03-08 00:51:45 +01:00
description = S("Golden Chestplate"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_chestplate_gold.png",
2020-11-25 12:47:27 +01:00
groups = {armor_torso=1, mcl_armor_points=5, mcl_armor_uses=113, enchantability=25 },
_repair_material = "mcl_core:gold_ingot",
2020-02-18 16:36:22 +01:00
sounds = {
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:chestplate_diamond",{
2019-03-08 00:51:45 +01:00
description = S("Diamond Chestplate"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_chestplate_diamond.png",
2020-11-25 12:47:27 +01:00
groups = {armor_torso=1, mcl_armor_points=8, mcl_armor_uses=529, mcl_armor_toughness=2, enchantability=10 },
_repair_material = "mcl_core:diamond",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_diamond",
_mcl_armor_unequip = "mcl_armor_unequip_diamond",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:chestplate_chain", {
2019-03-08 00:51:45 +01:00
description = S("Chain Chestplate"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_chestplate_chain.png",
2020-11-25 12:47:27 +01:00
groups = {armor_torso=1, mcl_armor_points=5, mcl_armor_uses=241, enchantability=12 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_chainmail",
_mcl_armor_unequip = "mcl_armor_unequip_chainmail",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
-- Regisiter Leg Armor
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:leggings_leather", {
2019-03-08 00:51:45 +01:00
description = S("Leather Pants"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_leggings_leather.png",
2020-11-25 12:47:27 +01:00
groups = {armor_legs=1, mcl_armor_points=2, mcl_armor_uses=76, enchantability=15 },
_repair_material = "mcl_mobitems:leather",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_leather",
_mcl_armor_unequip = "mcl_armor_unequip_leather",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:leggings_iron", {
2019-03-08 00:51:45 +01:00
description = S("Iron Leggings"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_leggings_iron.png",
2020-11-25 12:47:27 +01:00
groups = {armor_legs=1, mcl_armor_points=5, mcl_armor_uses=226, enchantability=9 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:leggings_gold", {
2019-03-08 00:51:45 +01:00
description = S("Golden Leggings"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_leggings_gold.png",
2020-11-25 12:47:27 +01:00
groups = {armor_legs=1, mcl_armor_points=3, mcl_armor_uses=106, enchantability=25 },
_repair_material = "mcl_core:gold_ingot",
2020-02-18 16:36:22 +01:00
sounds = {
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:leggings_diamond",{
2019-03-08 00:51:45 +01:00
description = S("Diamond Leggings"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_leggings_diamond.png",
2020-11-25 12:47:27 +01:00
groups = {armor_legs=1, mcl_armor_points=6, mcl_armor_uses=496, mcl_armor_toughness=2, enchantability=10 },
_repair_material = "mcl_core:diamond",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_diamond",
_mcl_armor_unequip = "mcl_armor_unequip_diamond",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:leggings_chain", {
2019-03-08 00:51:45 +01:00
description = S("Chain Leggings"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_leggings_chain.png",
2020-11-25 12:47:27 +01:00
groups = {armor_legs=1, mcl_armor_points=4, mcl_armor_uses=226, enchantability=12 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_chainmail",
_mcl_armor_unequip = "mcl_armor_unequip_chainmail",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
-- Regisiter Boots
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:boots_leather", {
2019-03-08 00:51:45 +01:00
description = S("Leather Boots"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_boots_leather.png",
2020-11-25 12:47:27 +01:00
groups = {armor_feet=1, mcl_armor_points=1, mcl_armor_uses=66, enchantability=15 },
_repair_material = "mcl_mobitems:leather",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_leather",
_mcl_armor_unequip = "mcl_armor_unequip_leather",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:boots_iron", {
2019-03-08 00:51:45 +01:00
description = S("Iron Boots"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_boots_iron.png",
2020-11-25 12:47:27 +01:00
groups = {armor_feet=1, mcl_armor_points=2, mcl_armor_uses=196, enchantability=9 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:boots_gold", {
2019-03-08 00:51:45 +01:00
description = S("Golden Boots"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_boots_gold.png",
2020-11-25 12:47:27 +01:00
groups = {armor_feet=1, mcl_armor_points=1, mcl_armor_uses=92, enchantability=25 },
_repair_material = "mcl_core:gold_ingot",
2020-02-18 16:36:22 +01:00
sounds = {
_mcl_armor_equip = "mcl_armor_equip_iron",
_mcl_armor_unequip = "mcl_armor_unequip_iron",
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:boots_diamond",{
2019-03-08 00:51:45 +01:00
description = S("Diamond Boots"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_boots_diamond.png",
2020-11-25 12:47:27 +01:00
groups = {armor_feet=1, mcl_armor_points=3, mcl_armor_uses=430, mcl_armor_toughness=2, enchantability=10 },
_repair_material = "mcl_core:diamond",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_diamond",
_mcl_armor_unequip = "mcl_armor_unequip_diamond",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
2020-02-18 15:44:54 +01:00
minetest.register_tool("mcl_armor:boots_chain", {
2019-03-08 00:51:45 +01:00
description = S("Chain Boots"),
2017-03-18 15:43:15 +01:00
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usage,
2020-02-18 15:44:54 +01:00
inventory_image = "mcl_armor_inv_boots_chain.png",
2020-11-25 12:47:27 +01:00
groups = {armor_feet=1, mcl_armor_points=1, mcl_armor_uses=196, enchantability=12 },
_repair_material = "mcl_core:iron_ingot",
2020-02-18 07:33:08 +01:00
sounds = {
2020-02-18 15:44:54 +01:00
_mcl_armor_equip = "mcl_armor_equip_chainmail",
_mcl_armor_unequip = "mcl_armor_unequip_chainmail",
2020-02-18 07:33:08 +01:00
},
on_place = armor.on_armor_use,
on_secondary_use = armor.on_armor_use,
2015-06-29 19:55:56 +02:00
})
-- Register Craft Recipies
local craft_ingreds = {
2017-01-16 23:41:59 +01:00
leather = { "mcl_mobitems:leather" },
2017-02-11 21:14:40 +01:00
iron = { "mcl_core:iron_ingot", "mcl_core:iron_nugget" },
2017-01-31 23:32:56 +01:00
gold = { "mcl_core:gold_ingot", "mcl_core:gold_nugget" },
diamond = { "mcl_core:diamond" },
chain = { nil, "mcl_core:iron_nugget"} ,
2021-03-17 15:21:27 +01:00
}