MineClone2/mods/ITEMS/minetest-3d_armor/3d_armor/init.lua

296 lines
7.6 KiB
Lua
Raw Normal View History

2015-06-29 20:55:56 +03:00
dofile(minetest.get_modpath(minetest.get_current_modname()).."/armor.lua")
2017-03-02 16:07:34 +02:00
local wear_armor = function(itemstack, user, pointed_thing)
local groups = minetest.registered_items[itemstack:get_name()].groups
local slot
if groups then
if groups.armor_head then
slot = 2
elseif groups.armor_torso then
slot = 3
elseif groups.armor_legs then
slot = 4
elseif groups.armor_feet then
slot = 5
end
if slot then
local ainv = minetest.get_inventory({type="detached", name=user:get_player_name().."_armor"})
local inv = user:get_inventory()
local old = inv:get_stack("armor", slot)
ainv:set_stack("armor", slot, itemstack)
inv:set_stack("armor", slot, itemstack)
armor:set_player_armor(user)
armor:update_inventory(user)
if old:is_empty() then
itemstack:take_item()
else
itemstack = old
end
end
end
return itemstack
end
2015-06-29 20:55:56 +03:00
-- Regisiter Head Armor
minetest.register_tool("3d_armor:helmet_leather", {
2017-01-17 07:56:51 +02:00
description = "Leather Cap",
2015-06-29 20:55:56 +03:00
inventory_image = "3d_armor_inv_helmet_leather.png",
groups = {armor_head=5, armor_heal=0, armor_use=100},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
2017-02-11 22:14:40 +02:00
minetest.register_tool("3d_armor:helmet_iron", {
2017-01-04 06:29:55 +02:00
description = "Iron Helmet",
2017-02-14 21:33:37 +02:00
inventory_image = "3d_armor_inv_helmet_iron.png",
2015-06-29 20:55:56 +03:00
groups = {armor_head=10, armor_heal=5, armor_use=250},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:helmet_gold", {
description = "Golden Helmet",
inventory_image = "3d_armor_inv_helmet_gold.png",
groups = {armor_head=15, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:helmet_diamond",{
description = "Diamond Helmet",
inventory_image = "3d_armor_inv_helmet_diamond.png",
groups = {armor_head=20, armor_heal=15, armor_use=750},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:helmet_chain", {
description = "Chain Helmet",
inventory_image = "3d_armor_inv_helmet_chain.png",
groups = {armor_head=15, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
-- Regisiter Torso Armor
minetest.register_tool("3d_armor:chestplate_leather", {
2017-01-17 07:56:51 +02:00
description = "Leather Tunic",
2015-06-29 20:55:56 +03:00
inventory_image = "3d_armor_inv_chestplate_leather.png",
groups = {armor_torso=15, armor_heal=0, armor_use=100},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
2017-02-11 22:14:40 +02:00
minetest.register_tool("3d_armor:chestplate_iron", {
2017-01-04 06:29:55 +02:00
description = "Iron Chestplate",
2017-02-14 21:33:37 +02:00
inventory_image = "3d_armor_inv_chestplate_iron.png",
2015-06-29 20:55:56 +03:00
groups = {armor_torso=20, armor_heal=5, armor_use=250},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:chestplate_gold", {
description = "Golden Chestplate",
inventory_image = "3d_armor_inv_chestplate_gold.png",
groups = {armor_torso=25, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:chestplate_diamond",{
2017-01-23 13:06:07 +02:00
description = "Diamond Chestplate",
2015-06-29 20:55:56 +03:00
inventory_image = "3d_armor_inv_chestplate_diamond.png",
groups = {armor_torso=30, armor_heal=15, armor_use=750},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:chestplate_chain", {
description = "Chain Chestplate",
inventory_image = "3d_armor_inv_chestplate_chain.png",
groups = {armor_torso=25, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
-- Regisiter Leg Armor
minetest.register_tool("3d_armor:leggings_leather", {
2017-01-17 07:56:51 +02:00
description = "Leather Pants",
2015-06-29 20:55:56 +03:00
inventory_image = "3d_armor_inv_leggings_leather.png",
groups = {armor_legs=10, armor_heal=0, armor_use=100},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
2017-02-11 22:14:40 +02:00
minetest.register_tool("3d_armor:leggings_iron", {
2017-01-04 06:29:55 +02:00
description = "Iron Leggings",
2017-02-14 21:33:37 +02:00
inventory_image = "3d_armor_inv_leggings_iron.png",
2015-06-29 20:55:56 +03:00
groups = {armor_legs=15, armor_heal=5, armor_use=250},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:leggings_gold", {
description = "Golden Leggings",
inventory_image = "3d_armor_inv_leggings_gold.png",
groups = {armor_legs=20, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:leggings_diamond",{
2017-01-23 13:06:07 +02:00
description = "Diamond Leggins",
2015-06-29 20:55:56 +03:00
inventory_image = "3d_armor_inv_leggings_diamond.png",
groups = {armor_legs=25, armor_heal=15, armor_use=750},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:leggings_chain", {
description = "Chain Leggings",
inventory_image = "3d_armor_inv_leggings_chain.png",
groups = {armor_legs=20, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
-- Regisiter Boots
minetest.register_tool("3d_armor:boots_leather", {
description = "Leather Boots",
inventory_image = "3d_armor_inv_boots_leather.png",
groups = {armor_feet=5, armor_heal=0, armor_use=100},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
2017-02-11 22:14:40 +02:00
minetest.register_tool("3d_armor:boots_iron", {
2017-01-04 06:29:55 +02:00
description = "Iron Boots",
2017-02-14 21:33:37 +02:00
inventory_image = "3d_armor_inv_boots_iron.png",
2015-06-29 20:55:56 +03:00
groups = {armor_feet=10, armor_heal=5, armor_use=250},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:boots_gold", {
description = "Golden Boots",
inventory_image = "3d_armor_inv_boots_gold.png",
groups = {armor_feet=15, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:boots_diamond",{
2017-01-23 13:06:07 +02:00
description = "Diamond Boots",
2015-06-29 20:55:56 +03:00
inventory_image = "3d_armor_inv_boots_diamond.png",
groups = {armor_feet=20, armor_heal=15, armor_use=750},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
minetest.register_tool("3d_armor:boots_chain", {
description = "Chain Boots",
inventory_image = "3d_armor_inv_boots_chain.png",
groups = {armor_feet=15, armor_heal=10, armor_use=500},
wear = 0,
2017-03-02 16:07:34 +02:00
on_place = wear_armor,
on_secondary_use = wear_armor,
2015-06-29 20:55:56 +03:00
})
-- Register Craft Recipies
local craft_ingreds = {
2017-01-17 00:41:59 +02:00
leather = { "mcl_mobitems:leather" },
2017-02-11 22:14:40 +02:00
iron = { "mcl_core:iron_ingot", "mcl_core:iron_nugget" },
2017-02-01 00:32:56 +02:00
gold = { "mcl_core:gold_ingot", "mcl_core:gold_nugget" },
diamond = { "mcl_core:diamond" },
chain = { nil, "mcl_core:iron_nugget"} ,
2015-06-29 20:55:56 +03:00
}
for k, v in pairs(craft_ingreds) do
2017-01-04 11:56:38 +02:00
-- material
local m = v[1]
-- cooking result
local c = v[2]
if m ~= nil then
minetest.register_craft({
output = "3d_armor:helmet_"..k,
recipe = {
{m, m, m},
{m, "", m},
{"", "", ""},
},
})
minetest.register_craft({
output = "3d_armor:chestplate_"..k,
recipe = {
{m, "", m},
{m, m, m},
{m, m, m},
},
})
minetest.register_craft({
output = "3d_armor:leggings_"..k,
recipe = {
{m, m, m},
{m, "", m},
{m, "", m},
},
})
minetest.register_craft({
output = "3d_armor:boots_"..k,
recipe = {
{m, "", m},
{m, "", m},
},
})
end
if c ~= nil then
minetest.register_craft({
type = "cooking",
output = c,
recipe = "3d_armor:helmet_"..k,
2017-01-04 12:49:05 +02:00
cooktime = 10,
2017-01-04 11:56:38 +02:00
})
minetest.register_craft({
type = "cooking",
output = c,
recipe = "3d_armor:chestplate_"..k,
2017-01-04 12:49:05 +02:00
cooktime = 10,
2017-01-04 11:56:38 +02:00
})
minetest.register_craft({
type = "cooking",
output = c,
recipe = "3d_armor:leggings_"..k,
2017-01-04 12:49:05 +02:00
cooktime = 10,
2017-01-04 11:56:38 +02:00
})
minetest.register_craft({
type = "cooking",
output = c,
recipe = "3d_armor:boots_"..k,
2017-01-04 12:49:05 +02:00
cooktime = 10,
2017-01-04 11:56:38 +02:00
})
end
2015-06-29 20:55:56 +03:00
end